• ベストアンサー

文字化けしてしまうんですが・・・

C++BuilderでSMTPクライアントを作成しているのですがgooなどのWebブラウザを使うメーラーにメールを送信すると文字化けしてしまいます解決方を教えてください。 ちなみにSendStartでヘッダーのContent-Typeはtext/plain; charset=ISO-2022-JPになっています。 プログラミングをはじめて間もないので出来れば詳しい説明をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#7273
noname#7273
回答No.2

>送られるテキスト自身がjisコードに変換されてるかどうかはどうすればわかるのでしょうか? 作成中のプログラムに、 文字コード変換の仕組みが実装してありますかということです。 文字コード変換はメールクライアントが行う作業なので、 実装してなければ、jisコードのテキストが相手に届くはずもありません。 >またjisコードに変換されてなかった時はどうすればいいのでしょうか? gooなどで、キーワード「文字コード変換 アルゴリズム」などで検索すると、 参考になるアルゴリズムを見つけることができると思いますので、 それを参考に変換用のルーチンを自分で書いて、組み込むことになります。 参考URL: 実装について http://www.users.gr.jp/ml/Archive/com/271.asp http://leed.issp.u-okyo.ac.jp/~takeuchi/delphi/article/019/019902.html アルゴリズムについて http://alfin.mine.utsunomiya-u.ac.jp/~niy/algo/index.html http://www.input.co.jp/takemori/vb/vbjis.htm http://www.rd.mmtr.or.jp/~endou/tips/03/tips26.htm

参考URL:
http://alfin.mine.utsunomiya-u.ac.jp/~niy/algo/index.html

その他の回答 (2)

noname#7273
noname#7273
回答No.3

No.2 の回答の補足です。 参考URLの2つ目の中で、u-tokyoのtが抜けていました。 また、次のURLもtaku13さんにとって参考になるかもしれません(VC++ですが)。 http://www.portnet.ne.jp/~eiri/software.htm

参考URL:
http://www.portnet.ne.jp/~eiri/software.htm
taku13
質問者

お礼

遅くなりましたが、 アドバイスありがとうございました。 あれから勉強して無事出来るようになりました。

noname#7273
noname#7273
回答No.1

メールヘッダに「jisコードです」と書くだけでなく、 送られるテキストそれ自身が、 実際にjisコードに変換されていますか?

taku13
質問者

補足

回答ありがとうございます。 ちょっとわからないのですが、送られるテキスト自身がjisコードに変換されてるかどうかはどうすればわかるのでしょうか?またjisコードに変換されてなかった時はどうすればいいのでしょうか?

関連するQ&A

  • Gmailで文字化けしてしまいます。

    こんにちは。あるサイトから送られてくるメールが全て文字化けしてしまいます。Gmailでこんなことが起こることは他にありません。ヘッダーをみると、 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit という表示があります。この辺りが怪しいのかなと思っています。 ただ、表示を日本語ISOにしても換わりません。ブラウザはFF3を使っていますが、FFFDという四角がたくさん出てきます。 どなたかきちんと表示する方法を教えてください。よろしくお願いします。

  • 英語の受信メールが文字化けします

    gooのフリーメールを利用しています。 その友人とは何度かメール交換をしていて、今まで文字化けしたことがなかったのですが、突然本文が文字化けするようになりました。件名はちゃんと英語で表示されています。ヘッダの情報を一部載せます。 X-Mailer: Atlas Mailer 2.0 X-AOL-IP: 64.171.177.234 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: base64 base64では最後に“=”がつくと、あるサイトで見ました。そのとおり“=”がついています。 エンコードでヨーロッパ言語などを試してみましたが、うまくいきませんでした。今までは違うヘッダで送られてきてはいたのですが、 それは以下のようなはヘッダです。 Content-Type: multipart/alternative; boundary="part1_1e4.ee8fdd5.2c7d1b26_boundary" X-Mailer: 8.0 for Windows sub 910 とにかくなんとしてでも解読したいのんです。誰か教えてください!

  • mailコマンドでは化けないSubjectがPOPで受信すると文字化け

    mailコマンドで、メールのタイトル一覧を表示した時には、Subjectは文字化けしていないのですが、 POP3でメーラ(WindowsのBecky)で受信すると Subjectが文字化けしてしまいます。 ヘッダ情報は以下のようになっています。 MIME-version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit 原因は何でしょうか?

  • 文字化けします。

    マルツオンラインのメールマガジンが最近文字化けするようになりました。 メールの二行ほどに以下のメッセージを読むことができます。 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 突然の文字化けでエンコード等を色々変えてみましたが、未だに読めません。 読めるようにするにはどうしたらよいのでしょうか。

  • 予約システムの文字化け

    予約機能があるサイトをロリポップのサーバーで運営していましたが、この度、海外のbluehostに移転しました。サイトは問題なく表示が出来、予約も受け付けられるのですが、私が受け取る予約メールとご予約された方が受け取る確認メールが文字化けしてしまいます。サーバー運営者に質問したところ、CGIのヘッダーのエンコードをContent-Type: text/plain;charset=iso-8859-1にする必要があると言われたのですが、どの様に設定したらいいのか分かりません。CGI内を見たところConfirm DataとErrorにContent-type: text/html\n\nという文字を見つけたので、その個所をContent-Type: text/plain;charset=iso-8859-1に変えたりしてみたのですが、状況は悪化しました。どの様に設定すれば良いのか、分かる方がいらっしゃったら教えてください。よろしくお願いします。

    • 締切済み
    • CGI
  • postfixの文字化けで困っています。

    postfix&gmailでの文字化け時のエラー文 MIME-Version: 1.0 content-Type: text/plain; charset=ISO-2002-JP Content-Transfer-Encoding: 7bit と出ます。 どうしろと言ってますか??

  • 特定の相手からの gooのフリーメールが文字化けする

    gooのフリーメールで受信した特定の方からのメール本文が、100%全て文字化けします。タイトルは、文字化けしないです。同一のものを会社のアドレスに送ってもらうとちゃんと表示され、それをGOOのフリーメールに転送してもちゃんと表示されます。その中に特殊文字や半角カナは、見当たりません。 フリーメールの「良くある質問」のところに次のような記載があります。 gooフリーメールで対応していないデータ形式で送られている可能性がございます。テキストの場合、gooフリーメールでサポートしているヘッダ形式は、以下の通りです。 ※ 添付ファイルの場合を除く。 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit もし上記のメールヘッダと異なる場合は、このメールヘッダになるように再送してもらうなどのご対処をお願い致します。 ところが相手から届くメールのヘッダーは次のようです MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: base64 また次のような記載もあります。 ご利用になっているブラウザの「文字コード」を「自動」に変更してください。 また、ブラウザの文字コードを「日本語自動判別」にすることで 解決する場合もありますのでお試しください。 メールを作成する際、文字コードをEUCに設定しておくと文字化けせずに保存できます。 自分がGOOのフリーメールから相手に送信したものはちゃんと届いています。 自分の方の文字コードを替えるのも良く分かりませんし、 相手にこのメールヘッダになるように再送してもらうと言われても二人ともパソコン初心者なので何も分かりません 当方はGOOのフリーメールをIE5で見ています。 相手の環境は不明ですが、GOOのフリーメールでないことは確かです

  • charset=GB2312 で送られてきたメールが読めません これはいわゆる文字化けなのでしょうか??

    タイトル通りです。 ある日本在住のスパニッシュの方からメールを受信したのですが、文字化けしていて読めません。 ヘッダには Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: base64 などとあります。 エンコードで色々と変えてみましたが、分かりませんでした。 私のパソコンは、Vista で、もちろんgooメールを使用しています。

  • メールの文字化け(初心者です)

    gooのメールで受信したメールが「1B$B%t%!!…」のような文字列が並んでいて、文字化けをしています。 エンコードを「日本語(自動選択・EUC・シフト JIS)」に変更したり、転送してみたりしましたが読めません。 「文字化けしたメールの修復」で解読してみたのですが、日本語と漢字や記号などの混じった文章になってやっぱりダメでした。 文字化けしたメールを読む方法を教えてください。 該当メールのヘッダー情報を引用します。 Content-Type: text/plain; Content-charset: iso-2022-jp Content-Transfer-Encoding: quoted-printable

  • もらったメールが文字化けしています

    知人から送られてきたメールが文字化けしており困っています。 <送信者の環境> 送信者は中国からですが、文字入力は間違いなく日本語でされています。 ただし、Yahooのフリーメールを利用しています。(@yahoo.co.jpではなくて@yahoo.comです) <受信者(私)の環境> 私の方は、Becky!を利用しています。 メニューから文字化け用の解読も試してみましたし、 自分のフリーメールにも転送してみましたが、 いずれもダメでした。 過去の質問も検索をかけてみて、似ているものを 調べたり、参考URLにも行ってみましたが、 よく理解できていない部分もあっていずれも 成功しておりません。 ちなみに、メールのヘッダ情報を調べると MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii となっています。 これって、 Content-Type: text/plain; charset="ISO-2022-JP" になっていないと日本語で読めないんでしたっけ? それに、他のメールでは見受けられる Content-Transfer-Encoding: 7bit っていう部分もないんです。 今後も中国と日本で(日本語で)メールのやりとりを するつもりなので、今回の化けたメールの復元法と、 文字化けを防ぐための根本的な解決法とを、 両方、教えていただけると大変助かります。 よろしくお願いします。