让WP支持中文标签链接

首先,产生中文tag链接无法打开或者找不到博客文章的原因在于WordPress不支持中文的编码。那我们就需要强制让WordPress能支持中文的编码形式,即UTF-8和GBK编码。

修改方法,首先修改WP-include中的classes.php文件(需要使用用专门的PHP编辑器工具,推荐EditPlus),将第47行和第52行代码进行修改。

第47行原代码:
$pathinfo = $_SERVER['PATH_INFO'];

替换为:
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], “UTF-8“, “GBK“);

第52行原代码:
$req_uri = $_SERVER['REQUEST_URI'];

替换为:
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], “UTF-8“, “GBK“);

修改后,保存下,然后将保存后的classes.php文件上传并覆盖原文件即可。

Comments

22 responses to “让WP支持中文标签链接”

  1. 博译论 Avatar

    没用过中文的标签

  2. Sivan Avatar

    Parse error: syntax error, unexpected T_STRING in /home/sivan/public_html/blog/wp-includes/classes.php on line 153
    受骗了……

    1. ken Avatar

      可以的可能你写漏了 ; 符号会出现你刚刚那种错误 看看是不是写漏了

  3. 虎虎 Avatar
    虎虎

    一样 汗

    Parse error: syntax error, unexpected T_STRING in /home/sivan/public_html/blog/wp-includes/classes.php on line 153

    1. zw Avatar

      $req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’], “UTF-8“, “GBK“);

      注意把 “UTF-8“, “GBK“ 引号改成引文的 ” 经过测试已经成功啦

      谢谢

  4. 吾同树 Avatar

    修改classes.php 后主页都打不开了没有任何报错,不知道是什么原因!我一直想改永久连接可惜总是不能成功,文章主题几乎都是中文的!该怎么办呢!

    1. zw Avatar

      “UTF-8“, “GBK“ 双引号改成 英文的””

  5. hwp Avatar

    我的是2.8.5最新版的,好像还是不行哦

  6. UUKAOYAN Avatar

    终于解决,本来还以为是主题问题呢,折腾一上午,谢谢!

  7. 510blog Avatar

    好像有问题!

  8. 510blog Avatar

    搞定了,多谢!

  9. […] 我的空间是godaddy的win主机,发现WordPress不支持中文标签(tag)的问题后,在网上狂搜解决方法,发现网上最多的就是修改WP-include中的classes.php文件的方法,详细请参考:让WP支持中文标签链接;但是我按照网上文中修改后,没有任何变化,我心想可能是godaddy的主机是英文系统的,默认并不是GBK的编码,所以改后还是不行。 […]

  10. 一百零五度 Avatar

    成功了,谢谢

  11. 高不顶 Avatar

    有的迷糊,搞不定啊,难道是我大脑短路

  12. […] 正确的修改方法是如Wopus上所说的: […]

  13. ecosway Avatar

    很不错,学习了。试一下看管不管用呢

  14. 晨星 Avatar

    我用的最新版的wp,按照要求改了。还是不行啊。求指教。

  15. 大燕狂徒 Avatar

    这个貌似跟主机有关,win主机经常出现这个问题,解决办法是添加标签的时候把别名改成数字或字母就可以了,我用楼主的 方法不好使啊 楼主可以看一下我的网站 我告诉你如何清洗皮包 这篇文章,有四个标签 女包, 测试标签, 男包, 皮包保养 ,点击测试标签就会出错

  16. […] 正确的修改方法是如Wopus上所说的: […]

  17. […] 第47行原代码: view sourceprint? 1.$pathinfo = […]

  18. zEUS. Avatar

    3.4.2版本里的 classes.php 改名为了 classes-wp.php ,这2处代码分别位于142行和147行。