![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
こちらでも失礼します :-)
インターネットのメールで日本語表記を利用する場合はそもそもJIS(ISO-2022-JP)の7Bitで送信するのが暗黙のルールとなっています。
つまり、Shift JISのまま送り出すのではなく、JISに文字コードをコンバートしてから送り出せば良い訳です。
簡単に実現するには nkf という外部コマンドを1PASSさせるか、jcode.plというperlモジュールを用います。
ただし単純に全ての文書をnkfやperlを通すとメールヘッダ内のSubject:等もJISコードに変換されてしまいます。
メールヘッダに関してはmime変換を行う様にと rfcで取り決められています。
(現実にはこのmime実装にも色々とトラヴルが発生しますが)
尚、メールヘッダ及びメール本文に相当するHTMLの Content-type;指定も ISO-2022-JP (←JISの事) に統一しないと、受信したメーラで正しく認識できなくなりますので注意してください。
出口は近いです。ガンバってくださいネ :-D
参考URL:http://internet.watch.impress.co.jp/www/article/ …
この回答への補足
メール文書を生成するための指定として、
ISO-2022-JPと7Bitは表記してあります。
Shift JISと言ったのは、CGIプログラムを作成した時に保存した形式のことでした。すみません。
メールヘッダ内のSubject:が文字化けするのは、別にいいんです。実は、何をしようとしていたかといいますと、送られてきたHTMLメールにSubmitボタンをつけて、更に送信しようとしたのです。。そのためには、きれいなソースで表示されていることが必要かなと思いまして。。ちょっと無謀すぎでしょうか。。
No.7
- 回答日時:
1) メールヘッダ/MIME/本文 のコードが合っていない
メールヘッダ:Content-Type: text/html;charset=iso-2022-jp
MIME:<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=Shift_JIS">
になっているとか、送信前の本文が実はjisに変換されていないとか。
2) OLEの初期設定が、Shift_JIS等ちがうものになっている
のあたりはどうでしょうか?
メールヘッダは、:Content-Type: text/html;charset=iso-2022-jpにしていて、
Shift_JISではありません。。
結局、できなかたのですが、そもそも質問の仕方からあまりよくなかったようです。でも、勉強になりました。
ありがとうございました。
No.6
- 回答日時:
ようやく意図が掴めました。
しかしながら、そういった経験がないのではっきりとは申せませんが、メールのソースを見る必要はない気がいたします。
メールのHTML形式というのは、フル実装のHTML(送信ボタンを表示させるためにはこちらでないとできない)と、簡易HTML(メーラーで普通に送れる書式メール)があるので、その辺りのコーディングの仕方の違いを研究なさりたいということだと思います。
メール本体の記述の仕方というように質問を変更なさることをお薦めいたします。
No.5
- 回答日時:
> どうすれば、文字化けしない、きれいなソースが見れるようにできるでしょうか?
#3 のご助言でゴールにたどり着けない場合は、
さしあたり
・動作させている環境(サーバ・OS・プログラム言語の種類やバージョン)
・確認している環境(OS・メーラー)
・CGIのメール送信部分(必要なところを抜粋)
あたりを提示されれば、具体的な答えが得られるかもしれません。
この回答への補足
サーバーはLINUX、プログラム言語はPerl、確認しているOSはWindows98SE、メーラーはOutlookExpressです。
CGIのメール送信部分は7bitと、JISを指定しているだけです。
No.4
- 回答日時:
ほらほら、話が難しくなったでしょ。
カンタンに言えば、メールのソースを正しく見るためのツールがメーラーなのであって、ソースを見る必要があるのは、ヘッダーが正しく送られているかなどの確認のためです。
で、#3の方がおっしゃるように、どうしてもソースで正しく見たいと言うことであれば、メールの本文をJISコードに変換して送信すればいいのですが、世の中にはいろんなメーラーを使っている方がいるので、それらに全て対応させるコードを完璧に書くのはとっても大変です。まぁ、あまり現実的ではありません。
がんばってくださいね。
No.2
- 回答日時:
>CGIプログラムを使うことにより、WEB上から申し込みフォームを使って入力事項をHTML形式によりメールしました。
ここが全般的によくわからないのです。何をどのようにメールしたんですか?
>しかし、ソースを開いてみると文字化けしています。
メールは7ビットで送信されるので、ソースは、通常「文字化け」しているものです。ソース表示で日本語がきちんと見られると言うことは基本的にないのですが……。
というわけで、再度補足要求です。
この回答への補足
>CGIプログラムを使うことにより、WEB上から申し込みフォームを使って入力事項をHTML形式によりメールしました。
メールにもテキスト形式で見る場合と、HTML形式で見る場合があるかと思うのですが、それをHTML形式で見れるように送ったということです。
メールは7ビットで送信されるので、ソースは、通常「文字化け」しているものです。ソース表示で日本語がきちんと見られると言うことは基本的にないのですが……。
そうなんですか。。それを文字化けしないようにするにはどうしたらいいかをお聞きしたかったのですが。。
No.1
- 回答日時:
あのお、ご質問の意味がよくわかりません。
CGIプログラムは、申し込みフォーム表示とフォームをSubmitでメール送信という内容ですか?
「HTML形式によりメール」は具体的にどのように実現していますか? CGIで処理していますか?
なぜHTML形式で送るのですか?
開いたソースというのは、送られたメールのソースですか?
ということは、CGIのテストをしたらということですか?
CGIはPerlですか?
で、回答を求められているのは、メールのソースを文字化けさせないようにするには、ということでしょうか?
わからないことだらけで、回答がピントはずれになりそうです。
この回答への補足
ソースは、送られてきたメールを転送にすれば、その時にソースが見れると思うのですが。。
>回答を求められているのは、メールのソースを文字化けさせないようにするには、ということでしょうか?
そうです。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- Gmail OCNメールの自動転送につて 1 2022/04/21 16:36
- JavaScript HTMLでJavaScriptを使用してプログラムを作ります。 入力されたパスワードを取得して、パス 2 2022/10/18 01:05
- Perl perlについての質問 2 2022/10/17 15:25
- Windows 10 パソコン初期化の件です 2 2022/06/05 11:05
- PDF ワードで作った文書のPDF化 5 2023/04/10 16:56
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSから、メール送信を行い...
-
フォームを再送信しますか?
-
Safariで「本当にこのフォーム...
-
HP の問い合わせフォームのつく...
-
CGI? JS? ASP? 何...
-
フォーム内容が正しく取得できない
-
NIFTYのCGIでSENDMAIL
-
MAILER-DAEMONの行方。
-
チャットを作る
-
お問い合わせフォームから送信...
-
kentさんのpostmailをホームペ...
-
sendmailでの複数メールアドレ...
-
WriteFileで送信できたかの確認...
-
フォームを作りたいと思ってい...
-
CGIで自動返信
-
添付ファイルmmap
-
VB6で、Bsmtp.dllを使って、メ...
-
CGIでメールのReturn-Pathに値...
-
決まった時間にメールの自動発信
-
FLASHからアプリケーションの呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お問い合わせフォームから送信...
-
フォームを再送信しますか?
-
Safariで「本当にこのフォーム...
-
Googleフォームを回答したか確...
-
ACCESSから、メール送信を行い...
-
BASP21のSendMailとSendMailEx...
-
Accessでメール一括送信ソフ...
-
メールアドレスが正しいかどう...
-
チャットを作る
-
VB.NETからGmail経由でメールを...
-
ホームページビルダーのメール...
-
VB6で、Bsmtp.dllを使って、メ...
-
WriteFileで送信できたかの確認...
-
メールフォームで送信すると「...
-
VBA メール一斉送信で添付ファ...
-
VB.NET(2005)の"SerialPort" ...
-
CGIでメールのReturn-Pathに値...
-
メールフォームの受信先にg-m...
-
VBで添付ファイル付きのメール...
-
VBA EasyCommでの送信
おすすめ情報