新京报
乱码字符串的形成原因通常不是单一字符写错,而是🔍文本在保存、传输或读取时使用了不匹配的编码。中文和英文普通字符有时还能勉强显示,但表情符号、扩展汉字和其他 Unicode 字符更容易暴露💪编码问题。
网页乱码需要分别检查服务器响应和页面源码,不能只根据浏览器视觉效果判断。浏览器通常会优先参考响应头中的字符集,页面内的字符集声明未必能够覆盖服务器发送的错误信息。
数据库字段类型决▶️定了文字能够保存到什么范围。只支持有限字符集的字段可能可以保💯存普通中文,却无法保存 emoji 或扩展符号。需要检查数据库版本、表字符集、字段字符集以及排序规则是否支持完整 Unicode。
避免乱码需要让录入、存储、传📢输、读取和展示使用一致的 Unicode 规则,而不是只修复某一个页面或某一条记录。新系统通常应优先采用完整 Unicode 字符集,并▶️对外部文件和旧系统设置明确的转换边界。