10

我很好地回显日文字符,但是当我尝试 substr 并回显部分字符串时,它只会变成问号 ��</p>

注意:我将标题设置为 utf-8

header('Content-Type: text/html; charset=utf-8');

并制作了元 <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

$word = "せんせい";
echo $word;       //works just fine

echo substr($word,-1);    //now it just echoes �

//this one also failed
echo $word[0];    //echoes �
4

3 回答 3

9

使用多字节字符串时,您需要使用multibyte string函数,在这种情况下是mb_substr.

于 2012-07-31T10:18:03.487 回答
3

尝试多字节子字符串,在这里找到 mb_substr() 信息此函数适用于不在英语 ascii 代码集中的字符。

于 2012-07-31T10:19:26.390 回答
2
mb_substr

将工作。但是,请记住在脚本顶部添加以下行:

mb_internal_encoding("UTF-8");//Sets the internal character encoding to UTF-8, for mb_substr to work
于 2015-01-07T05:10:57.847 回答