最后使用带有特殊字符的PHP的substr()会产生问号

|| 当我在PHP中使用substr()函数时,当最后一个字符是特殊字符(例如ë或ö等)时,在字符串末尾出现一个问号(带问号的正方形-取决于浏览器) ...
$introtext = html_entity_decode($item->description, ENT_QUOTES, \"UTF-8\");
$introtext = substr($introtext, 0, 200);
我该如何逃避?     
已邀请:
        如果您的字符串具有多字节编码(如UTF-8),则应使用ѭ1来避免出现以下问题:
$introtext=mb_substr($introtext,0,200);
    
        这是因为substr不适用于多字节字符。 substr可能会将多字节字符“减半”。您应该改用mb_substr。还要确保您的文件保存在UTF-8中。
$introtext = mb_substr($introtext, 0, 200);
    
        万一有人尝试了以前的答案,但仍然不起作用: 尝试在
mb_substr
中添加Unicode名称,例如:
$introtext = mb_substr($introtext, 0, 200, \'utf-8\');
    
        使用mb_substr     

要回复问题请先登录注册