携帯用サイトを作るときなど、表示用の文字コードと内部の文字コードを別にしたい場合があります。このような時、下記のような設定を.htaccessに記述するとPHPが自動的に変換してくれます。
php_value output_handler mb_output_handler
php_value default_charset UTF-8
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output UTF-8
php_value mbstring.internal_encoding UTF-8
php_value mbstring.substitute_character none
ここでの各項目の意味は次のようなものになるようです。文字コードを指定する箇所は"UTF8"、"EUC-JP"、"SJIS"等を記述します。ただし、default_charseにシフトJISを設定する場合は"Shift_JIS"にしたほうがいいかも。
| output_buffering | 出力バッファリングの有無 |
| output_handler | スクリプトの全ての出力を関数にリダイレクトすることがでる ここにmb_output_handlerを設定すると自動変換してくれる |
| default_charset | HTTPのContent-typeヘッダで出力する文字コード |
| mbstring.language | mbstringで使用される言語のデフォルト値 |
| mbstring.encoding_translation | HTTP入力文字エンコーディング検出および内部文字エンコーディングへの変換を行うか |
| mbstring.http_input | HTTP入力文字エンコーディングのデフォルト値 |
| mbstring.http_output | HTTP出力文字エンコーディングのデフォルト値 |
| mbstring.internal_encoding | 内部文字エンコーディングのデフォルト値 |
| mbstring.substitute_character | 無効な文字を代替する文字 |