乱码是经常困扰站长的头疼问题,做过网站的差不多都遇到过乱码。下面我从乱码产生原因入手说说如何解决乱码问题。
一个网页要正常显示涉及多处编码设置:
1 模板头部编码
模板源代码中<meta http-equiv="Content-Type" content="text/html; charset=xxxxxx" />所指定的编码
2 模板自身编码
是模板保存到磁盘的编码,许多站长不知道这个编码。以UE为例,在保存文件时会提示选择编码,具体到AKCMS,通过AKCMS后台保存的模板会使用和AKCMS配置(/configs/configs.inc.php)一样的编码设置
3 数据编码
数据可能是数据库也可能是缓存文件或读取URL的内容,最常见的数据源是数据库。
以上编码必须统一,才能正常显式,否则页面的部分或全部就会出现乱码。
遇到网页乱码第一步是先分析问题,先定位了问题才能有针对的快速解决,否则浪费时间也没有效果:
如果是模板部分乱码,往往是模板文件的保存编码不对,用UE等编辑器打开模板文件另存为,选择正确的编码保存再上传即可,需要注意的是一定要开启FTP的二进制模式(如何开启FTP软件的二进制上传模式?)。
如果是页面数据部分乱码,往往是数据源编码不对,以MySQL数据库为例,有可能是数据库编码与CMS编码不一致,统一起来即可;也有可能MySQL不同版本数据导入导出引起的乱码问题也比较常见,另文说明。
如果页面中文部分全部乱码,则可能是模板头部编码<meta>设置不对,修改保存即可。
本文大部分内容也同样适用于其他CMS做的网页。