加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – substr与utf8不兼容

发布时间:2020-12-11 23:37:37 所属栏目:MySql教程 来源:网络整理
导读:我使用substr方法来访问字符串的前20个字符.它在正常情况下工作正常,但在使用rtl语言(utf8)时,它会给我错误的结果(显示大约10个字符).我在网上搜索过,但发现第n个问题很有用.这是我的代码行: substr($article['CBody'],20); 提前致谢.最佳答案 If you’re w

我使用substr方法来访问字符串的前20个字符.它在正常情况下工作正常,但在使用rtl语言(utf8)时,它会给我错误的结果(显示大约10个字符).我在网上搜索过,但发现第n个问题很有用.这是我的代码行:

substr($article['CBody'],20);

提前致谢. 最佳答案

If you’re working with strings encoded as UTF-8 you may lose
characters when you try to get a part of them using the PHP substr
function. This happens because in UTF-8 characters are not restricted
to one byte,they have variable length to match Unicode characters,
between 1 and 4 bytes.

您可以使用mb_substr(),它的工作方式与substr几乎相同,但区别在于您可以添加新参数来指定编码类型,无论是UTF-8还是不同的编码.

试试这个:

$str = mb_substr($article['CBody'],20,'UTF-8');

echo utf8_decode($str); 

希望这可以帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读