プロが教えるわが家の防犯対策術!

PHPでチャットを作っているのですが、どうしても、文字化けを起こしてしまいます。
文字化けを起こす場所は、入室するときの名前と、ログを読み出すときです。

それ以外は正常に動作しているように見えます。
文字化けする文字は、日本語だけで、アルファベットは問題ありません。
「テスト」と入力するとFirefoxでは「???鴻??」といった用になって、IEでは「・・"鴻ヨ」というように文字化けの仕方が違うようです。
文字コードはEUCです。
サーバーはwindowsでローカルサーバーを立てています。
サーバーの設定の問題でしょうか?
アドバイスをよろしくお願いします。

A 回答 (2件)

おそらく、クライアント側(ブラウザ)とサーバー側での文字コードが違うのでしょう。



クライアント側で表示する際にヘッダーで文字コードの指定はしてありますか(charsetの指定)?

例えば、仮にサーバー側がEUCでデータが保存されて、そのままの出力でSJISのクライアントへ送信すると文字化けが起こります。

また、mb_convert_encoding()など文字コードを変換する関数がありますので参考にしてください。

他にも、php.iniの設定などもありますので確認してみると良いと思います。googleで「php.ini 日本語 設定」などと検索すると結構出てきますよ。

参考URL:http://jp2.php.net/manual/ja/function.mb-convert …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ヘッダーでEUCを指定していて、通常の文章などは全部日本語で化けることなく出ていました。

名前のところを mb_convert_encoding($name,"EUC-JP","UTF-8");として置き換えたところ、うまく表示できました。
ありがとうございました。

お礼日時:2008/05/02 00:24

入室ページの文字コードやログファイル系の文字コードはEUC-JPになっていますか?


文字コード関係は入力するページとその文字を表示させるPHPやCGIと同じにしないといけません。
    • good
    • 0
この回答へのお礼

すべてEUC-JPに統一しています。
回答ありがとうございました。

お礼日時:2008/05/02 00:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!