二次乱码长什么样
修复前
ä¸Âæ–‡ 北京 上海 客户 你好 谢谢
修复后
中文 北京 上海 客户 你好 谢谢
为什么会转两次
在 UTF-8 里,一个汉字占 3 个字节。程序若把这些字节按 Windows-1252(Latin-1)读取,一个汉字就变成 3 个怪字符,比如 中 变成 ä¸。如果把这个结果再存成 UTF-8,之后又被同样读错一次,每个字符会再次被拆开,ä¸ 就变成 ä¸Â。
第二次出错常见于这些情况:
- 数据库迁移时,WordPress 或 SQL 备份在迁移前就已经是乱码。
- CSV 用 Excel 打开后保存,之后又用错误的设置导入了一次。
- 脚本或接口对本来就是 UTF-8 的文字又转了一次码。
常见形态一览
二次乱码
ä¸Âæ–‡ 北京 上海 客户 ä¸Â国 张伟 汉å—
正确文字
中文 北京 上海 客户 中国 张伟 汉字
如果叠加三次,乱码会更长,Mojibuster 同样能自动还原。只错了一次的情况,请看乱码是什么。
为什么查找替换不够用
用查找替换,你得知道每一层、每个汉字对应的乱码,漏掉一个就修不干净,还可能误改正常的文字。Mojibuster 的做法是反推出原始字节,确认结果是合法的 UTF-8 之后,才替换那一处。
- 把文字粘贴到上面的输入框,或把文件拖进来。
- Mojibuster 自动判断转码了几次,最多还原三层。
- 在修改内容里查看每一处改动,然后复制结果或下载文件。
本来就正确的文字保持不变,同一个文件里乱码行和正常行混在一起也没问题。如果要转换的是 GBK 编码的文件,请看 GBK 转 UTF-8。
常见问题
怎么判断是二次乱码?
二次乱码比一次乱码更长,并且反复出现 Ã、â€、 这样的字符。较短的 䏿–‡ 属于一次乱码,见乱码是什么。
最多能还原几层?
最多三层。实际上更多层几乎不会出现。
只有一部分文字是二次乱码怎么办?
没问题。Mojibuster 逐处修复,正常的部分不会被改动。
能先检查结果吗?
可以。修改内容会列出每一处修复及其行号,确认后再复制或下载。