10

私は日本語の文字を正常にエコーしていますが、文字列の一部を部分文字列にしてエコーアウトしようとすると、疑問符に変わります.��</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 に答える