2006年09月18日
Amazon広告スクリプト(lilbox)の文字化け対応
Amazon広告スクリプト(lilbox)の文字化けの件解決しました。以前はPHP4.2を使い移管後はPHP4.4を使いました。PHPの設定ファイル(php.ini)は以前のものをそのまま使用したわけですがどうも文字化けしていました。

詳しい現象としてはエンコードがEUC-JPなhtmlに変換するのだが、エンコードタイプがEUC-JPではなくSJISに変換されて入ることが原因として挙げられます。
ここで、php.iniの設定を確認。
どこを確認するかというとmbstring.http_outputなるメソッドです。こいつがhtmlに出力する際に指定した文字コードに変換する機関です。
元のphp.iniを見ると
これではcharsetでEUC-JPを指定していてもSJISに化けるわけです。
PHP4.3.x以降この辺がシビアに扱われるようになったそうですがいかんせん。。。
対処方法としてはmbstring.http_outputをSJISからEUC-JPに置換。
【web拍手】
【カテゴリー最新記事】
MT4で公開記事を全て出力する方法
XOOPSを用いたRSSセンターの構築
Movable Type 4.01がリリースされています
Ajaxでグラフ表示できるオープンソースライブラリ
Ajaxの勉強を始める
Amazon広告スクリプト(lilbox)の文字化け対応
MovableType Oracle10g対応版βをインストールしてみる
インポートしたのは良いがエントリー・ファイル名が同じ

詳しい現象としてはエンコードがEUC-JPなhtmlに変換するのだが、エンコードタイプがEUC-JPではなくSJISに変換されて入ることが原因として挙げられます。
ここで、php.iniの設定を確認。
どこを確認するかというとmbstring.http_outputなるメソッドです。こいつがhtmlに出力する際に指定した文字コードに変換する機関です。
元のphp.iniを見ると
mbstring.http_output = SJISとなってました。
これではcharsetでEUC-JPを指定していてもSJISに化けるわけです。
PHP4.3.x以降この辺がシビアに扱われるようになったそうですがいかんせん。。。
対処方法としてはmbstring.http_outputをSJISからEUC-JPに置換。
mbstring.http_output = SJISこれでエンコード処理がEUCに指定されるので文字化けは解消されます。
↓
mbstring.http_output = EUC-JP
【web拍手】
【カテゴリー最新記事】
posted by dondonyaki at : 13:35| 開発
はてなブックマーク
Livedoorクリップ
del.icio.us
Google Bookmarks
Yahoo!ブックマーク
Yahoo!みんなのトピックス
PingKingみんなのブックマーク
Buzzurl
このブログのトップへ|前の記事|次の記事
このエントリーへのトラックバックURL
このエントリーへのコメント




コメントする