WordPress中文摘要结尾乱码解决方法
2014-07-07 23:09
405 查看
文章摘要乱码现象一般是出现在文章正文结尾截断的地方,因为WordPress模板的默认字符集原先就是UTF-8,但是它对于英文来说是一
个字母一个字节(8位)来编码,而中文却是一个汉字三个字节(24位)来编码。
WordPress 显示摘要的时候,英文内容摘要往往可以正常显示,但是中文摘要在截断之后,通常往往会出现以两个类似于??, □□, 或者■■等乱码符号。所以文章摘要截断的函数只会 判断在多少字节的地方去截,如果到了那个地方一个汉字只显示了三分之一或者三分之二的时候,那么那个汉字就不能够完整的显示, 而函数又不能很智能的多截一个字节或者少截一个,怎么办呢?于是就导致了文章摘要产生了乱码。这个问题在很多有类似功能的国外模板上都会出现,这不是数据库的错,也不是字符集的问题,只是因为作者在编写模板的时候并没有考虑到中文字符可能产生的问题。
所以,需要手动修改截断的函数。
首先找到截断字符串的函数调用的地方,函数名是mb_strimwidth,该函数可以获取按指定宽度截断的字符串。我们可以在Eclipse里用全文搜索,即顶部的Search,然后File Search,找到调用的地方。有SSH登陆的同学可以直接grep找,更方便快捷.
grpe -r ‘mb_strimwidth’ .
一般能看到如下的语句:
<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 330,”…”); ?>
末尾修改一下,增加,”utf-8″:
<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 330,”…”,”utf-8″); ?>
保存之后乱码问题就解决了。
个字母一个字节(8位)来编码,而中文却是一个汉字三个字节(24位)来编码。
WordPress 显示摘要的时候,英文内容摘要往往可以正常显示,但是中文摘要在截断之后,通常往往会出现以两个类似于??, □□, 或者■■等乱码符号。所以文章摘要截断的函数只会 判断在多少字节的地方去截,如果到了那个地方一个汉字只显示了三分之一或者三分之二的时候,那么那个汉字就不能够完整的显示, 而函数又不能很智能的多截一个字节或者少截一个,怎么办呢?于是就导致了文章摘要产生了乱码。这个问题在很多有类似功能的国外模板上都会出现,这不是数据库的错,也不是字符集的问题,只是因为作者在编写模板的时候并没有考虑到中文字符可能产生的问题。
所以,需要手动修改截断的函数。
首先找到截断字符串的函数调用的地方,函数名是mb_strimwidth,该函数可以获取按指定宽度截断的字符串。我们可以在Eclipse里用全文搜索,即顶部的Search,然后File Search,找到调用的地方。有SSH登陆的同学可以直接grep找,更方便快捷.
grpe -r ‘mb_strimwidth’ .
一般能看到如下的语句:
<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 330,”…”); ?>
末尾修改一下,增加,”utf-8″:
<?php echo mb_strimwidth(strip_tags(apply_filters(‘the_content’, $post->post_content)), 0, 330,”…”,”utf-8″); ?>
保存之后乱码问题就解决了。
相关文章推荐
- WordPress摘要结尾乱码解决方法
- WordPress摘要结尾乱码解决方法
- WordPress中文出现乱码的解决方法
- wordpress上传中文附件乱码解决方法
- Windows平台IIS下WordPress 2.7 中文tag和中文分类链接乱码的解决方法
- xmlhttp远程异步调数据一例(含中文乱码解决方法)
- 解决 form get方法传值中 中文的乱码问题
- jsp存取mysql中文数据结果为乱码的解决方法
- PHP读MYSQL中文乱码的解决方法
- appfuse中文配置文件乱码解决方法
- 页面间传输中文的乱码解决方法
- ReportNet连接Informix中文乱码问题解决方法
- 页面间传输中文的乱码解决方法
- MySql中文乱码的解决方法
- MyEclipse 创建jsp页面出现中文乱码问题解决方法
- Apache 2乱码问题解决方法--转载中文php网
- Asp.net 中向数据库写入中文变乱码的解决方法
- PHP读MYSQL中文乱码的解决方法
- Servlet + Tomcat 中文乱码的原理和解决方法
- JSP中文乱码问题解决方法小结