上次经历灵异事件,想挂上备案号,但是备案号里有中文挂到footer上后在ie下查看网页源文件的时候就有乱码,后来重新弄,找来xiaorsz看看.却消失了.奇怪.
今天对标题和keywords description进行优化,乱码又再次出现,由于日志单页的keywords description是调用tags和日志前220个字符来实现的.一开始我怀疑是调用的代码有问题.于是去掉后源码正常了,怎么办.我试着改,用echo print都试过了,不行.该文件编码?单改这一个肯定不行.改了也不能肯定凑效呢.再说的我的这种情况也不是所有的页面都出现,而是在tags是中文开头的出现.感觉非常奇怪.老外的东西对中文支持有问题吧.
最后解决方案
修改主题文件夹下functions.php,将此文件保存为带BOM的UTF-8文件
如果保存为不带BOM的可能造成WordPress后台无法正常登录,或莫名其妙的问题.
一些关于UTF-8
UTF-8是UNICODE的一种变长字符编码,由Ken Thompson于1992年创建.现在已经标准化为RFC3629.UTF-8用1到6个字节编码UNICODE字符.如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节.用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符
UTF-8编码的文件中,BOM占三个字节.如果用记事本把一个文本文件另存为UTF-8编码方式的话,用UE打开这个文件,切换到十六进制编辑状态就可以看到开头的FFFE了.这是个标识UTF-8编码文件的好办法,软件通过BOM来识别这个文件是否是UTF-8编码,很多软件还要求读入的文件必须带BOM.可是,还是有很多软件不能识别BOM.
[添加]
php4版不能用这个方法!
我最后把header.php改成utf-8就好了
声明:本站遵循署名-非商业性使用-相同方式共享3.0共享协议. 转载请注明转自 PhilNa ™
我没这么修改啊?但我的貌似也正常!用水煮鱼那自动截断的方法是会出现乱码,我只改了一个函数就没了!