使用substr方法在php中渲染。

时间:2013-03-04 14:18:52

标签: php unicode

我需要通过php从mysql数据库中选择180个字符,并为想要阅读全文的用户显示阅读更多链接。所以我从mysql读取所有文本并使用像这样的substr()函数。

$some_text=substr($total_text, 0, 180);

一切都很好但是在一些字符串char 出现之后。 这是什么以及如何解决? 感谢

2 个答案:

答案 0 :(得分:4)

听起来你正在使用多字节字符。请尝试使用mb_substr()代替:

$some_text = mb_substr($total_text, 0, 180);

答案 1 :(得分:2)

我有this exact issue我最近一直在做的语言翻译项目。

除了更改数据库中的字符集外,您还可以尝试以下操作:

在上面的代码之后

echo htmlentities($some_text, ENT_QUOTES, 'UTF-8');