标点符(钱魏 Way)

Smarty截取中文乱码的解决办法

前面一篇文章提到的是PHP截取中文时出现乱码的解决办法。这篇文章从模板引擎Smarty的角度去解决截取中文乱码的问题。

smarty的字符串截取函数是针对拉丁字符设计的,对于像汉字这样的非单字节文字在截取时就会出现乱码问题,下面是我从网上找来的一个解决方案,因为此文被转载得很多,原始出处不详。

使用方法:打开smarty/plugins/modifier.truncate.php文件,用以下内容替换该文件:

在使用时请注意,原来截取一个汉字算两个字符,现在一个汉字算一个字符,也就是说你想要截取20个汉字,原来截取的长度要设为40,即:$str|truncate:40,而现在则变成了$str|truncate:20

码字很辛苦,转载请注明来自标点符《Smarty截取中文乱码的解决办法》

评论