wordpress中文截断产生乱码处理办法

可是严酷的事实是大局部的模板都还是出于老外之手,老内在做模板的时分普通只会思考到显示失常即可,而咱们假如用中文来写博客毕竟和英文环境有所差异,这样可能会呈现很多的成绩,比方字体大小,乱码,这些都要手动调整。

话说调整CSS很多人都曾经是驾轻就熟了,本文不探讨。
不过可能大家会遇到相似下图的景象:
产生乱码的缘由
这种乱码景象普通是呈现在注释截断的时分,由于Wordpress模板的字符集是UTF-8,它关于英文来说是一个字母一个字节(8位)来编码,而中文却是一个汉字三个字节(24位)来编码。所以截断的函数只会判别在多少字节的中央去截,假如到了那个中央一个汉字只显示了三分之一或许三分之二的时分,那个汉字就不能完好显示,而函数又不能很智能的多截一个字节或许少截一个,怎样办?于是就产生了乱码。这个成绩置信在很多有相似性能的国外模板上都会呈现,这不是数据库的错,也不是字符集的成绩,只是由于制造者在编写模板的时分并没有思考到中文字符可能产生的成绩。

所以,咱们要交换截断的函数。简略来说,两步就能够搞定。

**步
将以下两个函数写进主题所附带的
functions.php
文件中
 
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
中将截断函数交换成新的。
 
<?php Limit_Char(200); ?>
<!-- 200是你需求截断多少字节的长度,依据实际状况修正。-->

修正实现,半途而废啦。实践上用这个方法,只需是截断的成绩都能够失去处理。
BTW:自己菜鸟一只。高手重点拍砖。

以上就是安达网络工作室关于《wordpress中文截断产生乱码解决方法》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: 中文截断 乱码 WordPress
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress主题制造之模板文件的引入办法

get_template_part() 用来援用模板文件,相似于 get_header()、get_sidebar() 和 get_footer(),只不过这个...

wordpress制造自定义菜单的办法

要想完成自定义菜单,需求用到的函数是wp_nav_menu(),给这个函数传递一些参数就能够输入自定义菜单菜单,上...

WordPress迁徙时一些常见成绩的处理办法整顿

一、导入数据库提醒数据表已存在 以周良博客应用的主机商-主机91为例,提供了phpMyAdmin性能的,导入数据库...

Crayon Syntaxer代码高亮插件与fancybox图片暗箱抵触的处理办法

其实,这是一个历史遗留成绩,在最开端建站的时分就曾经呈现了,在知更鸟主题和Crayon Syntaxer这个插件之间...

WordPress提醒require_once() Failed opening required的处理办法

本文实例讲述了WordPress提醒require_once() Failed opening required的处理办法。 一、成绩: 明天进我的w...

简略理解将WordPress中的工具栏移到底部的小技巧

从 WordPress 3.1 开端引入了工具栏的概念,当用户登录后在前台和后盾的页面顶部会显示一个黑色的工具栏,经...

需求提交

客服服务