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

アンケートを作成しました.
入力フォームに漢字(名前など)を入力して送信すると内容がメールで受け取れます.入力フォームは確認画面が表示できるようにしてありその後,送信でメールを受け取ります.確認画面表示は問題なく2バイト文字は表示されています.そのhtmlファイルの記述に下記設定をしています.
<META HTTP-EQUIV='Content-Type' CONTENT='text/html;CHARSET=Shift_JIS'>
CHARSET=Shift_JISの部分の指定をいろいろ替えました変化ありません.

なにかこのようなことで知ってる方教えてください.
また文字コードの制御,フォームとCGIのデータのやりとりなどがわかるサイトや書籍を知ってましたら併せて教えてくださるとありがたいです.
よろしくお願いします.

A 回答 (5件)

確認フォームで文字化けせず、メール内容が化けるのであれば、データは正しくShift-JISに変換されているようですね。

sendmail(?)するときにuuencodeされてしまっているのかも知れません。このURLに説明があります。

参考URL:http://tohoho.wakusei.ne.jp/wwwmail1.htm
    • good
    • 0
この回答へのお礼

ありがとうございます.
こちらも試してみます.

お礼日時:2001/07/13 10:50

確認画面が問題ないのであれば、


確認画面を「プリントした後」、

$mailbody に、
メール本文が格納されているとしたら、

&jcode'convert(*mailbody,'jis');

このようにして、
メールを「送信する前」に
jis にデコードすれば簡単だと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます.
勉強不足でした.
試してみます.

お礼日時:2001/07/13 10:48

補足ですが、確認画面を出すのであれば


確認画面→Shift-JIS
メール送信→JIS
と2回文字コードを変換すると良いですよ。
    • good
    • 0
この回答へのお礼

ありがとうございます.
文字コード受け渡しの時
適した形式にというやりかた試してみます.

お礼日時:2001/07/12 14:35

メールは通常JISコードで送受信を行います。


ですので、フォームからシフトJISで入力させた場合は、JISコードに変換する必要があります。
またその際、メールヘッダに記述する charsetは 7bitのiso-2022-jp(←JISコード指定)です。

CGIをperlで作成した場合は、上記のコード変換に jcode.pl というコード変換ライヴラリを requireして使用するのが一般的の様です。
または nkf というコード変換ツールを利用してファイルtoファイルで一括変換したものを送信するという方法も取れます。

perlを使用する場合のテクニックとして、以下のURLの【CGIとJava】→【CGI研究室】が簡潔な解説をされています。

参考URL:http://www2.inforyoma.or.jp/~terra/
    • good
    • 0
この回答へのお礼

ありがとうございます.
参考にさせて頂きます.
>メールヘッダに記述する charsetは 7bitのiso-2022-jp
これは試しましたが変わりませんでした.

お礼日時:2001/07/12 14:29

 文字化けしているのは確認フォームですよね。

フォームで入力された文字はEUCになりますのでjcode.pl等を使ってShift_JISへデコードする必要があります。以下のURLがわかりやすいと思います。

参考URL:http://tohoho.wakusei.ne.jp/wwwmail1.htm
    • good
    • 0
この回答へのお礼

ありがとうございます.
文字化けしてるのはメール文です.
確認フォームの表示は問題なく表示されています.

お礼日時:2001/07/12 14:32

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