0

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

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

一切都很好,但是在出现一些字符串 char 之后。

这是什么,我该如何解决?

4

2 回答 2

4

听起来您正在使用多字节字符。

尝试mb_substr()改用:

$some_text = mb_substr($total_text, 0, 180);
于 2013-03-04T14:20:11.830 回答
3

我最近一直在从事的一个语言翻译项目遇到了这个确切的问题。

除了更改数据库中的字符集之外,您还可以在上面的代码之后尝试以下操作:

echo htmlentities($some_text, ENT_QUOTES, 'UTF-8'); 
于 2013-03-04T14:28:57.700 回答