首页 > 一份 XML 文件在网络传输的过程中,修改了其中的数值,如何会导致中文部分变乱码?

一份 XML 文件在网络传输的过程中,修改了其中的数值,如何会导致中文部分变乱码?

已经解决:
刚刚试了一下,一份包含中文的文件,只要经过抓包工具的修改,到达客户端之后就会变成 ?????,基本确定是拦截的问题了…


首先本问题可能会涉及游戏存档修改,但不涉及具体某个游戏,目的仅为技术讨论,希望管理员手下留情,如果实在不合适,可删。

某个游戏,可以在线备份游戏存档,存档恢复的过程中,是一份明文的 XML 格式。
在传说的过程中,通过拦截等方式,将 XML 中的某些数字进行修改(例如金币),修改之后游戏存档正常恢复,并且游戏可以正常读取到修改之后的金币。
但是,游戏中的一些中文(例如人名)会变成 ?????? 一堆问号。

我尝试过:

原本是想改存档,但现在存档已经无所谓了,因为实在想不通为什么会导致中文部分变乱码,而其它部分却可以正常读取。

希望能讨论一下是什么原因,如果有哪位朋友知道我是说哪个游戏,也请不要提及名称~


修改之后再粘贴回去的时候需要与原编码保持一致。

比如游戏本来使用的是UTF-8编码。你复制出来粘贴到文本编辑器中后可能会变成其他编码(例如GBK),这样改了之后再复制粘贴回去编码就不对了。

另外,看你的描述,你好像是用抓包工具来拦截数据的。那么抓包工具本身也可能会转码。比如游戏本来是用的是UTF-8编码,抓包工具抓到后显示给你时用的是GBK编码,那么你复制、粘贴回去的都将是GBK编码的文本,最后传到游戏中的时候肯定就不对了。

所以你应该检查:

  1. 游戏本身使用的编码

  2. 抓包工具使用的编码

  3. 文本编辑器粘贴回去时使用的编码

只有这3者编码都统一了才能得到最终正确的编码。

【热门文章】
【热门文章】