wordpress修改源码中文出现乱码 utf8-BOM惹的祸
wordpress是一个非常好的博客系统,毋庸置疑了,一般情况下不会出神马问题,但是大部分问题都是由于编码问题引起的,在修改wordpress自带源文件或者主题源文件时经常遇到一些乱码问题。为什么有的人遇到有的人遇不到呢,那就是主题的问题了。风以前也习惯于用记事本修改php源文件,一般情况下是没事的,但是遇到有编码问题的主题时,麻烦也是不少的。比如,你到手一不错的主题,需要更改一下footer.php,但是在footer.php中加入了中午字以后,网页上救会显示乱码。当然,你一定会认为,应该是编码问题,问题应该是主题模板的变法,于是把所有模板文件都另存问UFT-8变法。不过,在你完成上面的设置后,却会发现问题还是没有解决。
其实,在编码中,UTF-8和UTF-8 + BOM是有区别的,你只需将function.php或者修改的xx.php编码改为不带BOM的编码,问题就可以得到解决。
当然,重点来了,知道了另存为不带BOM的utf-8就可以,但是新手们浑然不知怎么另存为不带bom的啊,再说,尼玛记事本也没有什么bom不bom呀,那么你就需要一款专门编辑代码的软件UltraEdit,名字都给大家了,接下来怎么做大家都知道了吧,算了,我还是啰嗦几句吧,百度一下这个名字,下载下来该软件,打开需要编辑的文件,例如footer.php修改完毕后,点击另存为,下面有个选项选择保存为utf-8格式不带BOM,问题解决。。
以下内容是专业解释神马utf-8带bom和不带bom的区别,尼玛婆婆妈妈的一大堆,嫌麻烦的直接无视下面浅颜色字体。。
那么utf-8 与utf-8 BOM 的区别究竟在哪里呢?
UTF-8以字节为编码单元,没有字节序的问题。UTF-16以两个字节为编码单元,在解释一个UTF-16文本前,首先要弄清楚每个编码单元的字节序。例如“奎”的Unicode编码是594E,“乙”的Unicode编码是4E59。如果我们收到UTF-16字节流“594E”,那么这是“奎”还是“乙”?
Unicode规范中推荐的标记字节顺序的方法是BOM。BOM是Byte order Mark。BOM是一个有点小聪明的想法:
在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。
这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。
UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF(读者可以用我们前面介绍的编码方法验证一下)。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。
文章作者:风
本文地址:http://www.feng521.com/archives/wordpress-utf8-bom.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!


用文本编辑器是不是就可以避免了啊?
貌似不知道,这个必须保存不带bom的才可以。
windows自带的文本编辑器保存的utf-8格式是带bom的
哈哈,这个问题我经常遇到,很有经验~
高手啊,呵呵!!
嘿,你应该是看到我的博客成乱码了写的把。。呵呵,谢谢了~~~
我是恢复备份后成了这个,在网上找了半天找个了方法,最后是
改写“wp-config.php”文件里的“define(‘DB_CHARSET’, ‘utf8′);”为“define(‘DB_CHARSET’, ”);”然后确保备份是utf-8编码,再上传就可以了。。。
恩恩,可能没帮上你什么忙,呵呵
文本编辑用notepad就好了。
nodepad++多好用啊
我用一网页调用wordpress文章标题,出现乱码,一直解决不了。。。
wordpress整合后 乱码为不认识的繁体字
我想把的网站和wordpress 整合 就是上面是推广页面,下面是wordpress的文章 有利于收录 上面程序也是php的编码是GB2312的 wordpress是UTF-8的 请问怎样才能 完美整合啊?两个程序是在一个空间里wordpress转在子文件夹。
下面是wordpress的文章 有利于收录 可是我整合出来的却是这样的 上面正常 下面是中文乱码》 现在的网站是这样的www.n5518.com 前辈帮忙!372813683QQ
系统自带的记事本真是害人啊,我今天搞了一天,到现在才解决博客乱码问题。
呵呵,不知道说什么了,呵呵