携帯用サイトを作るときなど、表示用の文字コードと内部の文字コードを別にしたい場合があります。このような時、下記のような設定を.htaccessに記述するとPHPが自動的に変換してくれます。


php_flag output_buffering On
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 無効な文字を代替する文字


参考:
マルチバイト文字列関数(mbstring)
コア php.ini ディレクティブに関する説明