光明日报
乱码来源决定修复方式,同一串异常字符出现在不同载体中,排查顺序也不同。先保留原始文件或原始消息,不要反☀️复使用“另存为”覆盖当前版本。
网页乱码不能靠更换字体解决🤔。字体只💫能决定字符是否有字形,不能把错误字节转换回原字符;页面已经保存错误内容时,必须从正确来源重新读取。
数据库字段出现问号时,恢复难度高于出现可逆乱码。异常汉字有时还保留了原始字节经过错误✨解码后的信息,而问号通常表示程序已经丢弃了无法表示的字符,需要从备份、原始接口或用户重新提交的内容中恢复。
CSV 文件中的乱码通常发生在“导出编码”和“打开方式”不一致时。文件本身可能仍然保存着完整内容,也▶️可能在第一次转换时已经被替换成问号,二🔑者需要分开判断。
Excel 显示异常时,直接修改单元格字体通常无效;正确做法是通过数据导入功能选择文件编码。对于包含 emoji 或少数民族文字的内容,保存环节还要确认目标软件是否完整支持 Unicode。
当原始字节仍然存在时,可以尝试逆向转换;当原始字节已被程序丢弃时,✨只能通过上下文恢复大致含义,不能把推测结果当作原文。
这类字符往往来自多字节文字🎯被错误解码。例如,原文可能包含 emoji、繁体字、日文、少数民族文字或其他 Unicode 字符,程序却使用了不匹配的本地编码读取。错误解码后,原来的一个字符可能变成两个或更多看🌅似正常的汉字,因此肉眼很难从结果反推原文。
排查时可以记录同一条内容在每个环节的结果:刚接收时是什么样,转换后是什么样,写入数❤️据库后是什么样,读取接口后又是什么样。第一个发生变化的位置,就是最值得检查的编码边界。