Clickteam Fusion 2.5 String Parser读取含重音字符TXT乱码求助
解决Clickteam Fusion 2.5 String Parser读取带重音字符乱码问题
你遇到的乱码(如「União」变成「União」)是典型的UTF-8编码文本被当作Windows-1252/ISO-8859-1编码读取的问题,以下是三种可行的解决方法:
方法1:确保TXT文件以UTF-8带BOM编码保存
String Parser组件默认会识别带BOM的UTF-8文件,操作步骤:
- 用系统记事本打开目标TXT文件
- 点击「文件」→「另存为」,在「编码」下拉框选择「UTF-8」(注意不是「UTF-8无BOM」)
- 覆盖保存原文件后,重新用String Parser读取即可正常显示带重音的字符
方法2:使用UTF-8专用读取扩展
如果需要读取无BOM的UTF-8文件,可替换String Parser为第三方扩展UTF-8 File Reader,该扩展专门针对UTF-8编码文件设计,无需依赖BOM即可正确解析带重音字符。
方法3:手动编码转换(不更换组件)
若无法更换组件,可通过Fusion的内置字符串函数手动转码:
在事件编辑器中添加动作,将读取到的乱码字符串转换为正确的UTF-8格式:
设置字符串变量 = UnicodeDecode(UnicodeEncode(读取到的乱码字符串, 1252), 65001)
- 原理:先将乱码(UTF-8字节被错误解码为Windows-1252的结果)重新编码为Windows-1252字节流,再以UTF-8(代码页65001)解码,还原正确字符。
内容的提问来源于stack exchange,提问作者Feripinho
相关产品推荐
相关产品推荐

