WordPress 中文标签 Tag 解决方法一则(2.71)

WordPress中文的问题真的很多,固定链接是一个。移植时候又碰到了个标签Tag的问题,英文Tag一切正常,中文就显示NOT FOUND。发现问题主要为IIS对URL截取的时候取得的是GBK的编码,但是我们的主题只要有中文都用的UTF-8的编码,所以我们要对编码进行处理后在交给数据库进行查询。 解决方法:使用PHP内置函数 mb_convert_encoding()进行UTF-8到GBK转换。 1、打开wp-includes\classes.php文件; 2、查找将

$pathinfo = $_SERVER['PATH_INFO'];
$req_uri = $_SERVER['REQUEST_URI'];

分别修改成:

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");

我的2.71的classes.php文件分别修改了行153和行158处。

if ( isset($_SERVER['PATH_INFO']) )
  $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
else
  $pathinfo = '';
  $pathinfo_array = explode('?', $pathinfo);
  $pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
  $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");

Comments

10 responses to “WordPress 中文标签 Tag 解决方法一则(2.71)”

  1. Frank Ling Avatar
    Frank Ling

    开始玩wp啦~HOHO
    好玩不?啥时候来教教我,我不会。。
    现在直接在wp的网站上开了一个瞎玩玩。好想自己建一个的
    =_=!

    1. 还好吧,就是中文麻烦挺多的,插件有些还要自己改改,国内wp网站给gfw掉的。。。sigh。。。

  2. wp和blogger一样惨啊~伟大的gfw。

    1. 呵呵对的对的一样的,所以现在很多人都把主机和域名解析往国外搬家。。。

      1. @Edwin, 点回复来试试。

        1. @徐明, 嗯嗯改好了,不知道回复有没有邮件通知。

        2. @徐明, 改好了,我测试了有通知,看下哈~

  3. 我们两没事在这里玩blog…

    1. @徐明, 不错挺好玩的。。。

  4. WordPress中文标签
    我的问题也是这样解决的

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.