结论:模板乱码基本是编码不统一造成的,把模板文件、数据库和页面声明统一成 UTF-8 就能解决。
① 先看乱码形态。整页乱码是文件编码问题,局部乱码多半是数据库连接字符集或字段编码不一致。
② 用编辑器打开模板文件,确认保存编码是 UTF-8 无 BOM。带 BOM 的文件会在页面顶部多出空白或乱码,另存为无 BOM 即可。
③ 检查数据库和数据表的字符集,建议统一 utf8mb4,排序规则 utf8mb4_general_ci,老库是 gbk 的话要转换。
④ 看模板头部有没有 meta charset 声明,声明成 gb2312 而文件是 UTF-8,中文必然乱。
⑤ 如果是采集来的数据乱码,是源站编码和目标库不一致,采集时勾选自动转码,或采完后批量转一次编码。