共计 1452 个字符,预计需要花费 4 分钟才能阅读完成。
最近在博客主题折腾调整中,发现这样一些问题,本来浏览器显示是正常的,但是在查看源代码时发现某些时候会出现一些带问号的黑体方块;又或者汉字在程序文件中写入,浏览器执行后出来也是这样,最后发现了这是文件编码出错的问题。
打开文件后在文件head标签部分可以看到charset=UTF-8这样形式的,可以看出文件是何种编码形式,wp系统咱们有友爱utf-8,呵呵,国际化。
其实是UTF-8文件的Unicode签名带或者不带BOM(Byte Order Mark)问题。BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF。这个标记是可选的,因为UTF8字节没有顺序,所以它可以被用来检测一个字节流是否是UTF-8编码的。微软做这种检测,但有些软件不做这种检测,而把它当作正常字符处理。
一个UTF-8文件可能有BOM,也可能没有BOM,那么怎么区分呢?有以下三种方法:
1、用UltraEdit-32打开文件,切换到十六进制编辑模式,察看文件头部是否有EF BB BF。
2、用Dreamweaver打开,察看页面属性,看“包括Unicode签名BOM”前面是否有个勾。
3、用Windows的记事本打开,选择 “另存为”,看文件的默认编码是UTF-8还是ANSI,如果是ANSI则不带BOM。
可以把gb2312编码文件转换成UTF-8文件,注意测试带与不带BOM版本,都将之写入程序以测试是否能正常显示,以使乱码不再出现。
wordpress是一个自主性自定义性(PS:当然这针对大虾,象我修改调整下主题都满头大汗,夸张了点。)非常好的博客系统,毋庸置疑了,一般情况下不会出什么问题,其实如果出现例如不能运行某些文件浏览器白屏,在修改wordpress自带源文件或者主题源文件时经常遇到一些乱码问题。为什么有的人遇到有的人遇不到呢,那就是主题的兼容性问题了。
所以在修改文件的保存上不仅仅在于保存为UTF-8这样的形式,假如需要保存为不带bom形式的怎样做呢?
当然记事本打开保存是不带bom提示的,dreamweaver也只在修改菜单-页面属性项中有提示这个文件是否带bom属性,但是至于保存则无能为力了。这时就需要一款专门编辑代码的软件UE即UltraEdit,打开需要编辑的文件,例如header.php修改完毕后,点击另存为,在下面有个选项选择保存为utf-8格式不带BOM,即搞掂。
另外编辑文件后想不出现编码错乱的问题,此外的方法就是利用Wordpress提供的文件编辑器,不需要去下载专门的编辑器,大家如果使用Wordpress进入后台就是了嘛,当然一定要空间给力稳定,要不辛苦半天,结果返回的是延迟就惨了。ftp里把要编辑的文件的写入权限打开,然后进入Wordpress后台-管理-文件编辑器,输入要编辑文件的路径,点编辑文件。
近来在换空间后一直在对主题进行修改,加了一些个效果,不过貌似问题出大了,我本地测试了宽屏和窄版,都没有问题,测试分辨率在我1366*768的16:9宽屏模式;还加了滚动钮,还加了一些个效果,导致在其他分辨率模式下问题有些大,因为访客用的浏览器及电脑分辨率都不尽相同,所以搞的头有些大了,等下再搜索下有没什么好办法,各位对主题研究深的童鞋欢迎指正。
PS:貌似评论留言不能提交,最近文章一直都是保持零评记录,呵呵,大概是se-code插件出问题了,但是我本地提交是没有问题的,真的头大,不知道为嘛这样呢?
WP简单的应用还可以 一复杂起来就翘了 慢慢学习