欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

wordpress中文截?cái)喈a(chǎn)生亂碼解決方法

  發(fā)布時(shí)間:2011-03-16 22:37:37   作者:佚名   我要評(píng)論
wordpress的海量模板是它的亮點(diǎn)之一,國(guó)內(nèi)眾多高手設(shè)計(jì)的模板已經(jīng)非常漂亮。
可是殘酷的現(xiàn)實(shí)是大部分的模板都還是出于老外之手,老外在做模板的時(shí)候一般只會(huì)考慮到顯示正常即可,而我們?nèi)绻弥形膩韺懖┛彤吘购陀⑽沫h(huán)境有所差別,這樣可能會(huì)出現(xiàn)很多的問題,比如字體大小,亂碼,這些都要手動(dòng)調(diào)整。

話說調(diào)整CSS很多人都已經(jīng)是輕車熟路了,本文不討論。
不過可能大家會(huì)遇到類似下圖的現(xiàn)象:
產(chǎn)生亂碼的原因
這種亂碼現(xiàn)象一般是出現(xiàn)在正文截?cái)嗟臅r(shí)候,因?yàn)閃ordpress模板的字符集是UTF-8,它對(duì)于英文來說是一個(gè)字母一個(gè)字節(jié)(8位)來編碼,而中文卻是一個(gè)漢字三個(gè)字節(jié)(24位)來編碼。所以截?cái)嗟暮瘮?shù)只會(huì)判斷在多少字節(jié)的地方去截,如果到了那個(gè)地方一個(gè)漢字只顯示了三分之一或者三分之二的時(shí)候,那個(gè)漢字就不能完整顯示,而函數(shù)又不能很智能的多截一個(gè)字節(jié)或者少截一個(gè),怎么辦?于是就產(chǎn)生了亂碼。這個(gè)問題相信在很多有類似功能的國(guó)外模板上都會(huì)出現(xiàn),這不是數(shù)據(jù)庫(kù)的錯(cuò),也不是字符集的問題,只是因?yàn)橹谱髡咴诰帉懩0宓臅r(shí)候并沒有考慮到中文字符可能產(chǎn)生的問題。

所以,我們要替換截?cái)嗟暮瘮?shù)。簡(jiǎn)單來說,兩步就可以搞定。

第一步
將以下兩個(gè)函數(shù)寫進(jìn)主題所附帶的
functions.php
文件中

復(fù)制代碼
代碼如下:

function Limit_Char($max_char = 200, $more_text = '...', $more_link_text = '', $limit_type = 'content') {
if ($limit_type == 'title') { $limiter = get_the_title(); }
else { $limiter = get_the_content(); }
$limiter = apply_filters('the_content', $limiter);
$limiter = strip_tags(str_replace(']]>', ']]>', $limiter));
if (strlen($limiter) > $max_char) {
$limiter = substr($limiter, 0, $max_char+1);
$limiter = utf8_conver($limiter);
echo $limiter;
echo $more_text;
if ($more_link_text != '') {
echo ' <a href="';
echo the_permalink();
echo '">'.$more_link_text.'</a>';
}
} else {
echo $limiter;
}
}
function utf8_conver($str) {
$len = strlen($str);
for ($i=strlen($str)-1; $i>=0; $i-=1){
$hex .= ' '.ord($str[$i]);
$ch = ord($str[$i]);
if (($ch & 128)==0) return(substr($str,0,$i));
if (($ch & 192)==192) return(substr($str,0,$i));
}
return($str.$hex);
}

第二步
把模板文件中比如
index.php
中將截?cái)嗪瘮?shù)替換成新的。

復(fù)制代碼
代碼如下:

<?php Limit_Char(200); ?>
<!-- 200是你需要截?cái)喽嗌僮止?jié)的長(zhǎng)度,根據(jù)實(shí)際情況修改。-->

修改完成,大功告成啦。理論上用這個(gè)辦法,只要是截?cái)嗟膯栴}都可以得到解決。
BTW:本人菜鳥一只。高手輕點(diǎn)拍磚。

相關(guān)文章

最新評(píng)論