解決WordPress摘要尾部亂碼問題打賞

其實這個方法是摘自博友的博客的,小子的博客主題不是自己做的,不知道主題作者是不是就不用文章摘要,就一直沒發現這個問題,我發現了,但是沒特意的去修改它,在有一段時間內,都是使用手動添加more標簽來實現文章摘要的,畢竟一次發表的文章隨手加入一個標簽很簡單,而且自動摘要的往往還會出現不和理的其他情況,比如只摘了圖片或者其他原素,而沒顯示文字等情況 ?。所以小子一般不使用自動摘要的插件。今天看到相關方法了,為了以后自己方便還是轉過來了。

文章摘要產生亂碼的原因其實很簡單,文章截斷使用的是截取函數實現的地方,而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,'…','<span style="color: #ff0000;">utf-8</span>'); ?>
	<span class=”more”>
		<a href=”<?php the_permalink() ?>” title=”閱讀更多 <?php the_title(); ?>” rel=”bookmark”>Read More</a>
	</span>
</div>

紅色的”utf-8″ 就是要添加上去的函數,修改好之后保存上傳,就正常截取了。本文摘自博友
朱定聰的博客,連接http://www.congblog.cn/807.html

解決WordPress摘要尾部亂碼問題
文章《解決WordPress摘要尾部亂碼問題》二維碼
  • 微信打賞
  • 支付寶打賞

已有5條評論

  1. 香怡

    頂一下吧~ 很少見的好文了

    2015-12-11 00:38 回復
  2. 朱定聰

    ?? 別….相互學習~!

    2012-01-31 16:48 回復
  3. 朱定聰

    :mrgreen: 沙發,哈哈哈哈哈~~!

    2012-01-31 02:32 回復

(必填)

(必填)

(可選)

黑龙江22选5开奖