我也遇到这个问题,转载一下,备忘。
Akocomment评论内容及标题乱码问题 摘自:曼波驰誉 |
Akocommnet在评论中会出现乱码的现象,仔细查看其中的原因,在
/components/com_akocomment目录下的functions.akocomment.php文件最后,有一个方法叫textwrap,其目的是为了可以设置文本的宽度,即超过该宽度变换行,这样由于中英文的差异经常会导致在换行时无法对齐,而强行将汉字一分为二,从而导致乱码!由于这些东西其实没有什么太大必要,就先把代码
if ($text) return preg_replace("/([^nr ?&./<>"-]{".$width."})/i"," 1n",$text); 替换为: return $text; 改完后上传覆盖原文件! 进入前台,输入评论及标题,发表评论,查看结果,先看看内容,不错,一切正常!咦,标题最后怎么成乱码了,怎么回事,检查一下代码,没错啊!就这么几个代码文件,没有问题啊!对了是不是长度问题,减减长度,重新发表!OK,那就看看长度定义了多少,检查一下数据库,发现定义的title为varchar(40)也就是40个字符,再看看还有没有别的,发现在标题进库之前把html代码也存进去了,到底多了什么首先标题加粗了,也就是多了 即7个字符,再加上一个 6个字符,一共13个字符,40减去13个就剩下了27个字母,或13个半汉字,这么说就是标题可最多输入27个字母或13个汉字才不会出现乱码,那么就统一限定一下长度为26! |