如何解决wordpress中文标签无法正常显示
发表时间:2008年六月 21st , 分类:技术与产品, 精彩推荐, 标签: wordpress, 标签
今天一上午的时间都在调整自己的博客,昨天选择的主题不能正常显示,又比较了几个著名主题,最后还是选定hellpD,简洁却很大气。原来的URL地址看起来很闹心,虽然不影响google的收录,还是设置伪静态,逐篇文章修改了一下,正沾沾自喜,不料标签又出问题了,中文标签打不开列表,提示为找不到。
研究很久,原来罪魁祸首在服务器上,博客空间的服务器是iis服务而不是阿帕奇,造成多处问题,这种“先天性疾病”让我束手无策,好在有百度和google,很多无私的朋友提供了问题的解决办法:
由于IIS集成的PHP环境原因就是编码问题,UTF-8和GBK之间转换的问题.
解决办法其实也很简单,使用PHP内置函数 mb_convert_encoding()进行转换:
标签搜索的URL例子:http://www.ruofeel.cn/index.php/archives/tag/%e5%9c%b0%e9%9c%87
IIS对URL截取的时候取得的是GBK的编码,但是我们的主题只要有中文都用的UTF-8的编码,所以我们要对编码进行处理后在交给数据库进行查询;请看下面的方法:
1.我们首先找到根目录下(是网站根目录,不是主题)的wp-includesclasses.php文件;
2.用编辑器打开文件,找到46行和51行.这是我们要修改的地方,
分别修改成以下程序:?
到这里.会PHP的应该很清楚了.就是对编码做了简单的处理,由GBK转换成UTF-8.当然不会PHP的也没事塞,直接修改了上传上去用就是了.具体例子就直接看本文下面的”标签”.从这一刻起.你就可以完全的使用中文标签了.为了让大家更清楚的找到修改的地方.我把源代码多放点出来,这样就能更好的确定大家找对位置没有:
?? ?$pathinfo = $_SERVER['PATH_INFO'];
else
?? ?$pathinfo = ”;
?? ?$pathinfo_array = explode(‘?‘, $pathinfo);
?? ?$pathinfo = str_replace(“%“, “%25“, $pathinfo_array[0]);
?? ?$req_uri = $_SERVER['REQUEST_URI'];
还是从45行开始到51行结束。
————————————————–
工欲善其事必先利其器,总算了我后顾之忧,原来一直使用z-blog,现在开始对wordpress逐渐上手了,果然不错的程序。
?

