« XAMPP for Windows の Apache が起動しない | メイン | PHPスクリプトが出力するデータの文字コード »

PHPの内部文字エンコーディング

内部文字エンコーディングはphp.iniのmbstring.internal_encodingで指定する。
また、スクリプト内ではmb_internal_encoding()で設定・取得ができる。

この内部文字エンコーディングは何に使われるのか、というと次の3つである。

  • HTTP入力文字エンコーディング変換
  • HTTP出力文字エンコーディング変換
  • マルチバイト文字列(mbstring)関数においてデフォルトの文字エンコーディング

ちなみに、PHPスクリプトの文字コードは「mbstring.script_encoding」で指定する。

HTTP入力文字エンコーディング変換

php.iniのmbstring.encoding_translationの値が「On」の場合、 HTTP入力文字エンコーディングが自動的に内部文字エンコーディングに変換される。

mbstring.encoding_translationの値が「Off」の場合は、何もしない。

HTTP出力文字エンコーディング変換

mb_output_handler()は、内部文字エンコーディングからHTTP出力文字エンコーディングに変換する。

マルチバイト文字列(mbstring)関数においてデフォルトの文字エンコーディング

マルチバイト文字列(mbstring)関数のうち、文字エンコーディングが必要な一部の関数では、 文字エンコーディングを指定しない場合は内部文字エンコーディングが指定されたことになる。

毎回、文字エンコーディングを指定する手間が省ける。

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/496

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年08月14日 11:33に投稿されたエントリーのページです。

ひとつ前の投稿は「XAMPP for Windows の Apache が起動しない」です。

次の投稿は「PHPスクリプトが出力するデータの文字コード」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35