- 締切済み
JavaScriptの文字化けについて
JavaScriptで取得した日本語をCGIで表示させるときに どうしても文字化けしてしまうのですが、どうしたらよいでしょうか? ローマ字や数字は正常に表示されるのですが…
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- hajime84
- ベストアンサー率50% (1/2)
モジュールの検索は http://search.cpan.org/ Jcode.pm インストールや使い方などの説明 http://openlab.ring.gr.jp/Jcode/index-j.html unicode.pm 等モジュールの説明 http://member.nifty.ne.jp/hippo2000/perltips/index.htm それぞれ、かってにリンクさせて頂きました。 動作確認環境がないだけにもし的外れでしたら申し訳ありません。
- hajime84
- ベストアンサー率50% (1/2)
まず、escapeの関数を調べました所、通常文字列のアスキーコード(ISO Lathin 1)を返す そうです。IE4.0ではUnicodeを返しますので注意が必要みたいです。 で、本題のIE5.x以外は問題無いと勝手に判断して(すみません)、IE5.x がらみのescape/unescape の処理を調べたら、CGIのMLのバックナンバーに似たようなスレッドがありました。 http://210.224.170.228/cgiml/199911/msg00467.html http://210.224.170.228/cgiml/199911/msg00502.html login cgi-ml password cgi-ml です。(これは公開して問題無い認証です) これを、読む分にはcgiのperl 側で(C等使ってましたら申し訳ありません) unicode.pm 、jcode.pm など使うことで解決できる 可能性も書かれてましたが、私の方に上記のモジュールがインストール されている環境がないので調べる事ができませんので、参考までにという ことでよろしくお願いします。 CGI側で各ブラウザの返す文字コードに合わせて、文字コード変換させて あげるとうまく行きそうですね。
補足
初心者的質問で、申し訳ありません CGIはperlで書いています unicode.pm,jcode.pmはどこで入手できるのでしょうか? その際require を使用すればよいのですか? CGI側で&jcode'convert(*name, 'euc');などやっては見たのですが…
- hajime84
- ベストアンサー率50% (1/2)
JavaScriptのトラブルは、OS、ブラウザの種類、バージョン、使用した文字コード、 外部JavaScriptを使用した場合の文字コード、文字化けの事象が現れた関数などが 分からないと解決できる人がいないと思います。 環境を教えていただくと答える方々も答えやすいと思います。
補足
説明不足で申し訳ありません JavaScriptで作ったゲームなんですが ゲームの得点は数値でscoreなんです yourName=escape(prompt("名前入力","")); theAddress="http://・・・・"; theURL=theAddress+"ranking.cgi?score="+score+"&name="+yourName; ここで、ランキングをCGIに送っているんですが… OSはWin98,ブラウザはIE5.5文字コードはシフトJISとEUCの両方でやってみました
お礼
モジュールの検索では、該当無しと出てしまいました 今回の質問は、JavaScriptというよりは、CGIの記述の方に 解決法があるようですね。 CGI関連で、もう少し調べてみる事にします アドバイス等どうもありがとうございました