• 締切済み

MySQLデータからアクセス解析CGIへの文字化け(Win+IE限定)

MySQL+PHPにてWebページを複数表示しています。 そのページはJavascriptを使用してアクセス解析用CGIへデータが渡る仕組みになっています。 MySQLはEUCで登録。PHP(HTML出力)もEUCです。 MySQLの中には、アクセス解析用CGI(Perl)へわたす、「Webページ名」が日本語で登録されています。(アクセス解析はSHIFT-JIS) しかし、MySQL+PHPでのページ表示を行うと、Windows+IE6の環境では、アクセス解析用CGIは「Webページ名」が文字化けしてしまいます。Windows+NN関係、Mac+IE、Mac+NNでは、文字化けは発生しません。 PHPでは、mb_convert_encoding()を使用してみましたが、文字化けは変わりませんでした。 このような文字化けの対応策が分かる方、解決方法をお願いいたします。

みんなの回答

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

多分、アクセス解析のCGIに渡す日本語文字列がEUCになっているので、CGIの中でEUCからShift-jisにエンコードをしなくてはならないのではないでしょうか。 一番早いのはCGIもEUCにしてしまえばいいと思いますが。

JIND
質問者

補足

MySQL+PHPに移行したのが最近で、全てのページがEUCではなく、部分的には、SHIFT-JISを使用しています。(HTML) ですので、CGIをEUCにしてしまうと、以前のデータが逆に文字化けしてしまうので、他に方法は無いでしょうか? CGI側ではSHIFT-JISに変換をしているのですが、WIN+IE環境のみが、文字化けしてしまうのです。