4

mbstring 拡張機能は、日本語に加えて、簡体字中国語、繁体字中国語、韓国語、およびロシア語の拡張サポートを提供します。

PHP ページに日本語の文字 (www.google.co.jp からコピーしたもの) を表示してみましたが、問題なく表示されました。UTF-32 文字を表示するときに mbstring を使用する必要がありますか?

編集:

<?php
    echo "भ";                  
    $s = strlen("भ");
    echo $s;
?>

コードの 2 行目を機能させるにはどうすればよいですか?

PS: PHP のデフォルト文字セットを UTF-8 に変更しました。

4

1 に答える 1

2
  • 通常の文字列関数の代わりに、たとえばの代わりに文字mb_列関数が必要です。通常の文字列関数を使用しない場合は、関数も使用できません。mb_substrsubstrmb_
  • テキストを渡すだけで、PHPがそのテキストに対して何もしていない場合は、関数は必要ありませmb_
  • 関数を正しく機能させるにはmb_、テキストがどのエンコーディングであるかを伝える必要があります。どのエンコーディングを使用しているかを伝えずに、さまざまなエンコーディングをサポートしているため、結果が正しくありません。そのエンコーディングを各mb_関数呼び出しに渡すことができます。たとえば、を使用してすべての関数mb_strlen($str, 'UTF-8')に1回設定できます。mb_mb_internal_encoding('UTF-8')

包括的な紹介については、すべてのプログラマーがテキストを操作するためのエンコーディングと文字セットについて絶対に、積極的に知っておく必要があることを参照してください。

于 2012-11-09T11:02:34.683 に答える