default_charset
- HTTP header 文字コード
- 出力時にHTTPヘッダとして送信する文字コード名のこと.
- Content-Typeが固定されるため,default_charsetはnoneを指定してhtmlのmeta charasetで文字コードを指定するのがよさげ
1 | php_value default_charset none |

1 | php_value default_charset utf-8 |

internal_encoding
- 内部文字エンコーディング
- internal_encodingはmbstring関数のデフォルトエンコードのこと.
- mb_convert_kanaなどで変換元文字コードの指定がない場合に使用される.
- 変換元文字コードを固定にするため,
- internal_encodingはソースコードの文字コードと揃えておくと良い.
1 | mbstring.internal_encoding = UTF-8 |
mbstring.detect_order
- 文字コードの自動検出の優先順位
- 規定値:auto
- auto は “ASCII,JIS,UTF-8,EUC-JP,SJIS”の順
- 精度がそんなによくないのでなるべくautoにしないで明示的に設定したほうがよさげ
1 | mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII |
mbstring.encoding_translation
- POSTデータの変数が内部文字エンコーディング(mbstring.internal_encodingの文字コード)に変換されます。
1 | mbstring.encoding_translation = On |
無効な文字の場合に表示される文字
1 | mbstring.substitute_character = "?" |
language
- mb_send_mailを利用した際にのみ使用される
1 | php_value mbstring.language Japanese |
HTTPの入出力エンコーディング
- これを指定しても,自動的に文字コードは変換されない。
- ob_start(“mb_output_handler”)関数でしか有効にならない
HTTP 入力エンコーディング変換を UTF-8 に設定
1 | php_value mbstring.http_input = UTF-8 |
HTTPレスポンスは変換しない
1 | php_value mbstring.http_output pass |