日本語利用前提の mbstring 設定の覚書

UTF-8 の使用を前提とした一般的な設定

【mbstring.language】

  • mbstring で使用される言語設定(NLS)のデフォルト値

mbstring.language = Japanese
(neutral:中立《UTF-8》)

【mbstring.internal_encoding】

  • 内部文字エンコーディングのデフォルト値を定義
  • PHP で動作する文字エンコーディングを使用する
  • 変換元の文字コードが指定されなかった場合、ここで指定した文字コードが使用される
  • mbstring.internal_encoding を定義するため、php.ini の中で mbstring.internal_encoding は、mbstring.language の後に置く必要がある

mbstring.internal_encoding = UTF-8

【mbstring.http_input】

  • HTTP 入力文字エンコーディングのデフォルト値を定義
  • 自動で変換されると文字化けなどを引き起こす場合があるので pass を指定

mbstring.http_input = pass
(auto:mbstring.language の設定を使って展開)

【mbstring.http_output】

  • HTTP 出力文字エンコーディングのデフォルト値を定義
  • 自動で変換されると文字化けなどを引き起こす場合があるので pass を指定

mbstring.http_output = pass

【mbstring.encoding_translation】

  • 自動で変換されると文字化けなどを引き起こす場合があるので Off を指定

mbstring.encoding_translation = Off

【mbstring.detect_order】

  • デフォルトの文字エンコーディング検出順序を設定

mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII
(auto:ASCII,JIS,UTF-8,EUC-JP,SJIS)

【mbstring.substitute_character】

  • 無効な文字を代替する文字を定義

bstring.substitute_character = none

【mbstring.strict_detection】

  • 厳密なエンコーディング検出を設定
  • 不正な文字列を受け取った場合、特定の環境下で無限ループが発生することがあるので Off でよいでしょう

mbstring.strict_detection = Off

【mbstring.http_output】

  • HTTP 出力を設定

mbstring.http_output = UTF-8

カテゴリーTips

コメントを残す