- ベストアンサー
CGI掲示板の文字化け
文字化けについての質問がいくつかありましたが、どれを読んでも解決しなかったのでおききします。 サイトに設置している掲示板で、ある方の書き込みが文字化けしてしまいバツが悪い思いをしています。(普段は何も問題がなかったのですが、突然でした) 原因としてどういうことが考えられますか?それを教えてください。 プログラミングについては全く知識がありませんので自分で処理できないような問題であれば、他のCGIを使おうと思っております。 宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
jcode.pl で駄目でしたか。うーん。なんだろうなあ。いわゆるウィンドウズ での半角カナ(シフトJISで 0xa1-0xdf までの文字)が混在していて文字 コードの判定がうまくいかなかったのかな? ちょっとよくわかりませんね。 <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS"> を入れる件については、これを入れるとブラウザがシフトJISを表示する モードになります(必ずどんなブラウザもそうなるとは限りませんが)。 シフトJISを表示する状態になれば textarea の文字もシフトJISで送信 されてくると思います。なのでこれはあった方がないよりは意図した 通りになると思います。
その他の回答 (1)
- inetd
- ベストアンサー率23% (43/184)
書き込む時にブラウザの文字コード表示の設定がシフトJISかEUC(あるいは それ以外の何か)になっていたことです。ブラウザによっては表示する時に そのページがEUCだと判断した場合は textarea の文字列送信時もEUCで 送ろうとします。この時もしあなたの掲示版CGIがシフトJISを使用する ように作られていれば文字化けします。 このような文字コードの違いを吸収するには jcode.pl などを利用する のが良いです。jcode.pl の場合 JIS,EUC,シフトJISの何れであっても 自分の掲示版で使っている文字コードに変換できます(自動判別して 変換してくれる。必ず出来るとは限らないがだいたいは大丈夫)。
補足
inetd様、ご親切なご回答ありがとうございました。 CGIを設置するときに説明書どおりjcode-plもアップロードし、属性も正しい設定になっております。 つまり今回の文字化けが「必ず出来るとは限らないが」ということなのでしょうか? それと他の質問への回答で読んだのですが <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS"> をHTMLに挿入することは今回の件に関係がありますでしょうか? これをスクリプトに書き入れること程度ならわかるのですが…。 再度教えていただければ幸いです。 よろしくお願い致します。
お礼
再度ご返答いただきありがとうございました!! 早速METAタグを入れてみました。 今のところ例の方の書き込みも正常で大丈夫のようです。 本当に参考になりました。