- ベストアンサー
文字化け
フォームで情報を受け取るCGIを作りました。 (情報はメールで送るタイプではありません) ずっと順調に動いていたのですが、最近、 あるひとつのフォームに記入された情報が途中から文字化けすることが たまに起こるようになりました。(いつもではありません) 「入力内容が長いためか」「半角英数」を使っているのか、などなど 確かめましたが、私が試した場合には問題がありません。 なお、入力された情報はjcode.plでEUCにデコードしています。 みなさんお忙しいなか恐縮ですが、よろしくお願いいたしますm(_ _)m
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 ソースコードが判らないので、正確な答えにはなっていません。 ヒントにして頂けたら・・・と思います。 現時点で考えられる原因として、以下の事が考えられます。 1.HTMLにメタタグでエンコード指定がされていない為。 2.クライアント(入力者)のPCがマッキントッシュである。この場合、通常、Windowsから送られてくる文章の改行コードは、CR/LFであるのに対して、マッキントッシュは CRのみとなります。 サーバーのPerlの中で、改行コードを統一してやらないと、文字化けを起こす事があります。 多分、これが原因だと思います。 ちなみに、サーバーがUNIX系(通常はこれ)であれば、改行コードはLFになります。 この改行コードを統一にするPerlの構文を下記に載せておきます。 $val =~ s/\r\n/\n/g; $val =~ s/\r/\n/g; ではでは
お礼
早早のご回答、ありがとうございました!・・・にもかかわらず、お礼が遅くなってしまい、申し訳ありませんでした。 testができないので(自分のPCがWin)解決できたかどうかはまだわかりませんが、お答えいただいた2番で対応してみました。 お忙しいなか、ほんとうに有難うございました m(_ _)m