找回密码
 立即注册
奇速版本论坛200M带宽开服微端链接失效申报超级稳定服务器抗攻击
点击金币投放广告点击金币投放广告点击金币投放广告点击金币投放广告
查看: 314|回复: 4

部分玩家昵称显示异常

[复制链接]

44

主题

106

回帖

452

积分

中级会员

积分
452
发表于 2024-5-11 15:03:51 | 显示全部楼层 |阅读模式
bug提交
M2版本: 20240508
BUG描述: addNameList等一切文件写入的指令,在写入部分昵称时(如莎莎、丧偶),出现编码异常(写入了ANSI,但是文本编码格式却诡异地变成了ANSI with UTF-8,看起来在尝试对目标文件进行转码,但是失败了?)。

BUG一直都存在,每个版本都有,不是最新BUG
BUG重现方式(步骤,流程等): 0.有玩家昵称为 “莎莎”、“丧偶” 等名称。(这两个昵称稳定复现,还有很多其他的没列举了)
1.function文件为Ansi编码
2.目标文本文件编码格式为ANSI
3.错误昵称玩家调用addNameList,或其他任何写入指令,或用MOV S1 <$username> 再将S1写入 都可以。
4.目标文件被写入后,文本文档的编码格式被改变。变成了 ANSI in UTF-8而非ANSI,导致乱码。
5.手动将文件转码为ANSI后,识别正常。
6.文件使用完毕后,cleanNameList,下次AddNameList时,又会变成ANSI in UTF-8。
修复BUG后应达到的效果: 1.addNameList直接为UTF-8或者ANSI格式。不会对原始文件编码造成改变。
2.如果对原始文件编码改变,至少能保证是正确格式读的,即,别突然用ANSI写入,用UTF-8读取,就会异常。
联系QQ: 123
BUG专用端下载地址: 论坛最新
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

44

主题

106

回帖

452

积分

中级会员

积分
452
 楼主| 发表于 2024-5-11 15:12:25 | 显示全部楼层
补充相关图片。麻烦看下。问题的核心是确实是上传的ANSI编码的内容,但是却诡异地将文本写成了ansi as UTF。
从而导致在后续读取的时候读到了乱码,因为文件是ansi as UTF8格式,所以估计引擎是按照UTF-8去读的。

希望风大帮忙解决,顺便告知一下,到底是在什么情况下以ANSI读写,什么情况下以UTF8读写?


d41f70689583a6d090739bc45f8b2c42.webp

436398f9cacf2ae3e2bc74e2393d8c2d.webp

f3cadaa0cb028841de94fc11890c9188.webp
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

44

主题

106

回帖

452

积分

中级会员

积分
452
 楼主| 发表于 2024-5-11 15:14:54 | 显示全部楼层
系统是window server 2012。
之前window server 2008R2 的时候,也有这个问题。
大部分人都是这个系统吧,所以我估计不是系统我问题。
另外检查了,字符过滤和禁止字符中没有内容,没有禁止字符的影响。
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

44

主题

106

回帖

452

积分

中级会员

积分
452
 楼主| 发表于 2024-5-11 15:25:49 | 显示全部楼层
本帖最后由 lm11000 于 2024-5-11 15:30 编辑

补充一下,我还尝试过先在文件中写入一段字符,在添加昵称后删除原字符,依然存在异常。
代码如下:

#IF
#ACT
MOV S10 <$USERNAME>
AddTextListEx ..\QuestDiary\芒果822421\争斗\国战\蓝方名单.txt <$STR(S10)> 0
DelTextList  ..\QuestDiary\芒果822421\争斗\国战\蓝方名单.txt 防止出错占位



#IF
CheckNameList ..\QuestDiary\芒果822421\争斗\国战\黄方名单.txt
#ACT

#elaseACT
messageBOX 不在名单

结果就是会走到messageBOX 不在名单这一行
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

44

主题

106

回帖

452

积分

中级会员

积分
452
 楼主| 发表于 2024-5-13 22:02:46 | 显示全部楼层
关于这个BUG。我其实在写python的时候也困扰过。
大概就是文件的编码判断其实是不准确的,正常写文件,确实需要先截取部分字符串来判断目标的编码,再以符合编码的格式写入。
那么现在的问题就是有可能引擎在读写文件之前,由于编码格式的判断出错,导致写入的内容是以错误的编码格式写入。
这种问题很难办,最好的办法是能加个参数让开发者自己去控制文件的读写编码,因为GM肯定知道自己的文件的编码格式的
请大家不要恶意灌水,回复纯数字、纯字母、纯表情等内容的直接禁言1周处理!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翎风引擎论坛 |网站地图

GMT+8, 2025-5-1 13:17 , Processed in 0.044599 second(s), 22 queries , Gzip On, Redis On.

Powered by haom2 X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表