WordPress摘要结尾乱码解决方法

即使wordpress拥有许多漂亮主题模板,但也总有许多令人不满意的细节,特别是对于我们这种中文用户那是更加头疼。朱定聪使用这个主题有一段时间了,一直在为文章摘要结尾出现乱码而困扰,期间也请教过主题作者威威,也没能解决到问题,今天我找了一下相关文章资料,终于找到了解决方法。

文章摘要产生乱码的原因,这种乱码现象一般是出现在文章正文结尾截断的地方,那是因为WordPress模板的默认字符集原先就是UTF-8,但是它对于英文来说是一 个字母一个字节(8位)来编码,而中文却是一个汉字三个字节(24位)来编码。WordPress 显示摘要的时候,英文内容摘要往往可以正常显示,但是中文摘要截断之后,通常往往会出现以两个类似于??, □□, 或者■■等乱码符号。所以文章摘要截断的函数只会 判断在多少字节的地方去截,如果到了那个地方一个汉字只显示了三分之一或者三分之二的时候,那么那个汉字就不能够完整的显示, 而函数又不能很智能的多截一个字节或者少截一个,怎么办呢?于是就导致了文章摘要产生了乱码。这个问题我相信在很多有类似功能的国外模板上都会出现,这不是数据库的错,也不 是字符集的问题,只是因为作者在编写模板的时候并没有考虑到中文字符可能产生的问题。

所以,我们要手动修改截断的函数。找到正在使用的主题下的index.php。

<div class="entry_post"><?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 365,"...","utf-8"); ?><span class="more"><a href="<?php the_permalink() ?>" title="详细阅读 <?php the_title(); ?>" rel="bookmark">阅读全文</a></span></div>

红色的"utf-8" 就是我们添加上去的函数,修改好之后保存上传,终于正常了。

评论 (38)
  1. 沙发
    张刚 2012-02-08 06:55

    记录下,我一直都用插件wp-utf8-excerpt来设置的,只需要改一个小代码这么简单。

    • 回复
      大葱 2012-02-08 09:47
      @张刚 :roll: 稍微改下代码就能够实现的,能不要插件则不用嘛。
  2. 板凳
    Xiderowg 2012-01-31 12:48

    header(‘Content-Type: text/html; charset=UTF-8’); 这样强制浏览器编码其实应该也可以诶

  3. 地板
    一堵墙 2012-01-31 06:07

    好吧

  4. 4 楼
    一堵墙 2012-01-31 02:19

    😀 😳 重来不用摘要,都是more了

  5. 5 楼
    海是倒过来的天 2012-01-29 05:43

    我那个主题, 在index 下没有这句话也。。。 😥

  6. 6 楼
    17t 2012-01-28 23:47

    😮 学习一下

    • 回复
      大葱 2012-01-29 00:05
      @17t :wink: 一起学习,共同进步,新年好!
  7. 7 楼
    陌凡 2012-01-28 19:13

    我一个站里的特色图片点击不能进入文章,不知道要怎么搞,可否帮帮我呀

  8. 8 楼
    陌凡 2012-01-28 13:43

    学习,呵呵。陌凡给朋友拜年啦,呵呵,祝朋友龙年腾达哦!

  9. 9 楼
    对讲机品牌 2012-01-28 13:42

    这个程序真的还没有用,希望用的时候能受用,先收着了。谢谢博主分享!

  10. 10 楼
    象牙塔 2012-01-28 13:22

    为嘛不是ajax式的提交评论了 ❓

  11. 11 楼
    象牙塔 2012-01-28 13:21

    额,我也是这个主题,木有遇过这个问题啊,诡异

    • 回复
      大葱 2012-01-28 23:01
      @象牙塔 至于这个我具体也不知道是什么原因,之前一直在为这个问题烦恼,换到其他空间又是正常的,重装wordpress也得不到解决,然后我找了好多文章才找的到原因,嘿嘿。
  12. 12 楼
    爱文字 2012-01-28 12:35

    我对主题的热情不是很高。一年估计也就换一两个。至于摘要用的是一个国人自己编写的,对中文的支持刚刚的。

    • 回复
      大葱 2012-01-28 23:00
      @爱文字 嗯,经常换主题对搜索引擎也是不利的,至于我写的这篇文章也是为了记录下,留给跟我一样遇到问题的新手朋友们。
  13. 13 楼
    去疤痕最好的方法 2012-01-28 11:31

    祝博主新年快乐哈

  14. 14 楼
    徐州回转支承 2012-01-28 07:09

    大过年的博主挺积极啊

  15. 15 楼
    暖音 2012-01-28 03:49

    自己动手 快乐轻松~

  16. 16 楼
    myswty.com 2012-01-28 03:45

    我在显示囧繁体字、新兴字的时候显示乱码!

  17. 17 楼
    用户体验优化 2012-01-28 03:34

    收藏了~~~~

  18. 18 楼
    Louis Han 2012-01-28 03:28

    果然管用了,好东西

    • 回复
      大葱 2012-01-28 03:42
      @Louis Han :???: 之前我为这个问题困扰好久,哈哈,终于解决了。