Akocomment评论内容及标题乱码问题

本文探讨了在Akocomment评论中遇到的乱码问题,通过修改functions.akocomment.php文件中的textwrap方法,解决了中英文混合换行导致的乱码现象。文章还分析了标题乱码的原因,并提供了限制标题长度的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我也遇到这个问题,转载一下,备忘。

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!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值