WordPress 与 UTF-8 的 BOM 问题

简介:

我们都知道,在 WordPress 中编辑模板或改动相应的函数文件时,如果使用了中文字符,那么保存时应选择“UTF-8”格式。
    不过,笔者之前使用 UltraEdit 编辑时总出问题,上传改动后的函数或插件文件后屡屡发现很多基于 COOKIE 或 SESSION 的功能变得不正常,甚至不能进入管理面板。

  自己找到的笨办法便是使用 WordPress 自带的编辑器,虽然麻烦了些,但总算能够趋于正常。

  近日在网上搜索到一篇文章,对这个情况如何解决解释得很详细:

    简单地说,这类问题的原因在于,在将文件保存为 UTF-8 格式时,编辑器默认在文件开始位置添加了二个字节的 BOM(Byte Order Mark),内容为“FFFE”,但 PHP 设计之初并没有考虑 BOM,因此,便会将文件开头这三个 BOM 字符直接输出。这是造成上述问题的根本原因。
    解决方法也很简单,即在使用 UltraEdit 保存 UTF-8 格式文件时,选择“UTF-8 no BOM”,而不是单纯的“UTF-8”。

    ——————————————————-
    WordPress 主题编码导致页面正常,而源文件是乱码

    我的 Blog 是用 WordPress 实现的。前几天发现,在打开文章,使用 IE 或 Firefox 查看源文件时,里面的中文全部成了乱码,以为是 UTW 引起的。换上了新主题 My Simplism,禁用了 UTW,启用 Simple Tags,问题依旧。后来搜索了一圈,找到 WordPress 中文论坛上的一个帖子。

    原来,页面正常而源文件乱码的根源出自主题的字符编码集。原版的编码集用的是 ANSI,我修改之后,添加了中文,于是发生了该现象。

    解决方法也简单,按该帖子所述,找个文本编辑器,将主题的 php 文件另存为 UTF-8 编码即可。这样的文本编辑器太多了,我自己常用的就有Edit Plus、UltraeEdit、EmEditor、Notepad++ 等等。推荐 EmEditor,因为可以直接在“另存为”对话框中控制是否添加 BOM。

    原帖子:

    重新用16进制编辑器把主题文件存成UTF-8不带签名(BOM)的格式:不用复制-粘贴,就用编辑器打开,然后另存一次,覆盖原来的就可以了。

    ——————————————————-
    网眼还发现一个比较简便的办法:

    虽然在中文Windows下,浏览器打开“源文件”,看到的是乱码(用记事本打开的),但是保存一下(用 ANSI 编码),再用 UltraEdit 打开保存的文件,看到的就是正常的文字,汉字也正常。










本文转自网眼51CTO博客,原文链接:http://blog.51cto.com/itwatch/286449,如需转载请自行联系原作者

相关文章
|
6月前
|
XML 存储 前端开发
【前端】XML和HTML的区别详解
【前端】XML和HTML的区别详解
141 5
|
6月前
|
Java Maven
Java在线预览(word转html)--强势推荐
Java在线预览(word转html)--强势推荐
133 0
|
移动开发 前端开发 JavaScript
【JavaEE】HTML基础知识
【JavaEE】HTML基础知识
|
移动开发 前端开发 JavaScript
学习HTML笔记26
HTML 文本格式化
83 0
学习HTML笔记9
HTML 基础
135 0
|
网络协议 JavaScript 前端开发
学习HTML笔记
学习HTML笔记
54 0
|
前端开发 JavaScript
|
Web App开发 移动开发 前端开发
学习HTML笔记117
HTML5教程
90 0
|
存储 移动开发 前端开发