凤凰网
页面声明和服务器响应必须采用与实际文件一致的编码。网页文件使用 ☀️UTF-8 时,HTML 的字符集声明、服务器返回的内容类型以及模板保存格式都应保持一致;只改其中一处,可能导致不同浏览器出现不同结果。
乱码字符串出现“馃”字开头,常见原因是一个系统用 UTF-8 保存文字,另一个系统▶️却按照 GBK、ANSI 或其他字符集读取。表情符号和生僻字占用多个字节,读取方式一旦不匹配,便可能被拆成看似中文、实际没有语义的字符。
乱码字符串能否恢复,取决于原始字节是否仍然存在,而不是取决于乱码看起来像不像某个汉字。恢复前应先保留原文件、原数据库备份和网页源文件,避免在唯一副本上反复尝试。
测试时应准备一份包含中文、英文、数字、标点和表情符号的短样本。每次只改变一个环节,并记录读取前后的结果。某种转换能够恢复全部样本时,才适合在备份数据上处理正式内容。