澎湃新闻
网页中的乱码修复需要让页面文件、服务器响应、模板引擎和浏览器使用同一套字符编码。只修改页面可见文字,不✨能解决服务器已经错误解码的问题;只修改数据库字符集,也不能自动修复已经损坏的历史记录。
网页显示异常时,应先分别查看源文件、浏览器解析结果和服务器响应💯信息。源文件正确而浏览器错误,重点检查响应中的字符集声明和页面自身声📢明;源文件已经异常,则应从版本记录、构建产物或内容源恢复。
数据库中的乱码处理必须先区分“显示乱码”和“存储乱码”。查询工具显示异常但更换客户端后恢复,说明数据可能没有损坏;不同客户端、导出文件和备份中都显示相同异常,则可能已经在导入或写入时完成了错误转换。
字节层面的判断比肉眼观察更可靠。文本在正确解码后通常能够得到一致的字符序列;如果同一份原始数据用不同软件打开时出现不同结果,往往说明字节仍在,只是读取规则不一致。若多个独立来源都保存着同样的异常字符,则需要回溯最早一次写入或转换。
文件乱码处理也不能把所有问题都归结为“改成 UTF-8”。如果文件原本是其他编码,直接按 UTF-8 读取可能产生更多损坏;如果文件已经经历过错误转换,再次反向转换只有在能够准确知道转换链路时才有意义。