添付ファイルの文字化け – プログラミング – Home

添付ファイルの文字化け
 
通知
すべてクリア

[解決済] 添付ファイルの文字化け


Yamashita Goro
 Yamashita Goro
(@Yamashita Goro)
ゲスト
結合: 23年前
投稿: 7
Topic starter  

猫でもわかるプログラミングの

第240章 テキストファイルを添付する
http://www.kumei.ne.jp/c_lang/sdk3/sdk_240.htm

を参考にしてVC++6、MFC、ダイアログベースでアプリ
を作成し、テキストファイルを添付したメールを
****@yahoo.co.jpへ送信してみたのですけど、

1:添付ファイルの内容が(Content-Disposition: attachment;
filename=ファイル名を記述しているにもかかわらず)メー

本文に展開されてしまう。展開された添付ファイルの内容は、
英文と日本文ともに文字化けはしていない。

2:添付ファイルをダウンロードして開くと、英文は文字化け
しないが、日本文は文字化けしてしまう。

原因がよくわからないのですが、ここら辺の技術解説
やサンプルコードをご存知のかたいらっしゃらないで
しょうか。


引用未解決
トピックタグ
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

問題解決にはなりませんが、プロバイダに原因あるケースもあるみたいですよ
アウトルック+gooで同じようなメール友達から届いたことありますよ
yahoo.co.jpのメール管理者にご協力願っても良いんじゃないですか

最小限でやりたいのなら自分でメールサーバー立ち上げてデバックするのがいいと
おもいますど
この手は出口までデバックしないと...


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

> 1:添付ファイルの内容が(Content-Disposition: attachment;
> filename=ファイル名を記述しているにもかかわらず)メー
> ル
> 本文に展開されてしまう。展開された添付ファイルの内容は、
> 英文と日本文ともに文字化けはしていない。

これは,
a.) メーラーで見た場合
b.) POPから得た(生の)データが既に展開されている
のどちらですか?
a.であれば,メーラーがそのように処理している可能性があります。

> 2:添付ファイルをダウンロードして開くと、英文は文字化け
> しないが、日本文は文字化けしてしまう。

ダウンロードして開くとは?
また,開くのに使ったアプリケーションはISO-2022-JP等の,
利用しているコードに対応していますか?


返信引用
駄犬
 駄犬
(@駄犬)
ゲスト
結合: 23年前
投稿: 59
 

> ここら辺の技術解説

私も詳しくないのですが、RFC2045~2049にMultipurpose Internet Mail Extensions
(MIME)という文書があります。


返信引用
Yamashita Goro
 Yamashita Goro
(@Yamashita Goro)
ゲスト
結合: 23年前
投稿: 7
Topic starter  

>最小限でやりたいのなら自分でメールサーバー立ち上げてデバックするのがいいとおも
いますど
やはりそれが一番だと思いますけど、少しハードルが高いですね。

>a.) メーラーで見た場合
>b.) POPから得た(生の)データが既に展開されている
a.)です。ただメーラーではなく、*@yahoo.co.jpはweb-mailなので、IEでチェックし
ました。POPから得た(生の)データはチェックしていません。

>ダウンロードして開くとは?
*@yahoo.co.jpはweb-mailなので、添付ファイルは一度web上からローカルのHDDにダウ
ンロードしなくてはなりません。

>また,開くのに使ったアプリケーションはISO-2022-JP等の,利用しているコードに対応
していますか?
秀丸です。文字コードに詳しくないのですが、おそらく対応していると思います。

>私も詳しくないのですが、RFC2045~2049にMultipurpose Internet Mail Extensions
(MIME)という文書があります。
ありがとうございます。参照してみます。

他のメーラから送信した場合はテキストファイルを添付してもメール本文内に展開され
ず、また文字化けもしていないので、資料などをチェックして再度取り組んで見ます。


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 24年前
投稿: 252
 

> >a.) メーラーで見た場合
> >b.) POPから得た(生の)データが既に展開されている
> a.)です。ただメーラーではなく、****@yahoo.co.jpはweb-mailなので、IEでチェックし
ました。POPから得た(生の)データはチェックしていません。

POPでちゃんと調べるべきでは?
text/plainは本文と同型式ですから,yahoo側のサーバープログラムが気を利かせて展開しているだけかもしれません。

ちなみに,text/plainの添付ファイルは,Application/Octet-Streamとして送るメーラーもあります。

> >また,開くのに使ったアプリケーションはISO-2022-JP等の,利用しているコードに対応
> していますか?
> 秀丸です。文字コードに詳しくないのですが、おそらく対応していると思います。

よく見たら,添付ファイルを送るコード,7bitコードしか送れませんがな。
ISO-2022-JPに変換して送るとか,
Base64で符号化して送るとか,そういう処理をしていない以上,
文字化けが起きても何もおかしくないです。


返信引用
Yamashita Goro
 Yamashita Goro
(@Yamashita Goro)
ゲスト
結合: 23年前
投稿: 7
Topic starter  

自己レスです。

Content-Type: text/plain; charset=ISO-2022-JP

を、

Content-Type: application/octet-stream; name=binary.lzh

のようにしたら解決しました。Base64でエンコードしてあります。
ご協力ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました