[PHP-users 27038] Re: 日本語がすべて「?」に文字化けします

shima tetuo mlmlml @ lily.freemail.ne.jp
2005年 10月 2日 (日) 22:55:04 JST


tetuoです。

.htaccessの使用をレンタルサーバーが許可しているのなら、.htaccessで設定さ
れる方がより簡素に出来ると思います。

ソースはEUC-JPベースで、出力はShift-JISかと思いますので、.htaccessに

#######################################
php_flag  output_buffering On
php_value output_handler mb_output_handler
php_value default_charset Shift_JIS

php_value mbstring.language Japanese
php_flag  mbstring.encoding_translation On
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_input auto
php_value mbstring.http_output SJIS
php_value mbstring.substitute_character none
#######################################

を書いてはどうでしょう?(必要であれば環境に応じて、項目は変更して下さい)

参考:

LXVI. マルチバイト文字列関数(mbstring)
http://jp2.php.net/mbstring

例 3. SJIS ユーザ用の php.iniの 設定

;; 出力のバッファリングを有効に
output_buffering     = On

;; 出力の変換を有効にするために mb_output_handler を設定
output_handler       = mb_output_handler

;; HTTPヘッダ charset を設定
default_charset      = Shift_JIS

;; デフォルトの言語を日本語に設定
mbstring.language = Japanese

;; HTTP 入力変換を有効にする
mbstring.encoding_translation = On

;; HTTP 入力エンコーディング変換を auto に設定
mbstring.http_input  = auto 

;; SJIS に変換
mbstring.http_output = SJIS    

;; 内部エンコーディングを EUC-JP に設定
mbstring.internal_encoding = EUC-JP    

;; 無効な文字を出力しない
mbstring.substitute_character = none


tetuo
mlmlml @ lily.freemail.ne.jp
http://mlmlml.seesaa.net/



PHP-users メーリングリストの案内