mail の文字化けNo.01853
ひろ さん 00/12/02 15:34
 
 秀まるお様今日は、ひろです。
Content-Type: text/plain; charset=iso-2022-jp
Content-Transfer-Encoding: quoted-printable
という header の場合、decode が上手くいかないようです。

 必要なら sample をお送りします。

[ ]
RE:01853 mail の文字化けNo.01861
秀まるお さん 00/12/02 17:27
 
> Content-Type: text/plain; charset=iso-2022-jp
> Content-Transfer-Encoding: quoted-printable

 今、Outlook Expressで同様のメールを作ってテストした限りは大丈夫みたいでし
た。ちなみにQuoted-printableの場合のデコードはEasy Mail Objectsというソフト
にやらせています。

 サンプルがあれば是非送ってください。 僕のメールアドレスは

   maruo@mitene.or.jp

 です。

[ ]
RE:01861 mail の文字化けNo.01863
ひろ さん 00/12/02 18:51
 
 秀まるお様今日は、ひろです。
>  サンプルがあれば是非送ってください。 僕のメールアドレスは
 送りました。

[ ]
RE:01863 mail の文字化けNo.01867
秀まるお さん 00/12/03 12:26
 
 送っていただいたメールですけど、charset=iso-2022-jpとなっているにも関わら
ず、メール本文はEUC文字コードで書かれています。

 Outlook Express、Daula、EdMaxは鶴亀と同じく表示できませんでした。ただし、
Winbiffではなぜか大丈夫でした。

 charset=の指定が何もなくて表示しないならバグだと思いますけど、はっきりiso-
2022-jpと記述しているのにEUCで送ってくるようなメールは表示できなくて仕方ない
と思います。

---------------追加
 で、このメールのcharset=部分をeuc-jpに書き換えればうまく表示できるかという
と、実はそっちの方がバグってまして、うまく表示できません。

 実は、quoted-printableの場合のデコードはEasy Mail Objectsにやらせているん
ですが、このEasy Mail Objectsというのは、いわゆるCOM形式のDLLでして、文字列
は全部unicodeで受け渡しします。そうすると、EUC文字コードの物をShift-JISと見
なしてunicodeに変換するため、Shift-JISとして正しくない文字がうまくunicodeに
変換されずに化けてしまいます。

 ってことで、根本的な解決のためにはメール本文を自前でデコードするように修正
しないといけなさそうです。

 あー困った。
---------------さらに追加
 っと返事を書いて、結局メール本文は自前でデコードするようにしました。ここま
でやってしまうと添付ファイルの取り出しも自前で出来てしまうんですけど、下手に
いじるとまたレベルダウンバグが増えてしまうのでやめときます。っといいつつ、本
文部分についての処理でまたレベルダウンが発生するかも…。

---------------さらにさらに追加
 charset=iso-2022-jpとなっていた場合でも、本文中にJISコードの文字が無い場合
にはEUC文字コードかどうか判定して、EUCらしき場合はEUCとして扱うように変更し
ました。

[ ]
RE:01867 mail の文字化けNo.01873
ひろ さん 00/12/03 23:20
 
 秀まるお様今日は、ひろです。
>  charset=の指定が何もなくて表示しないならバグだと思いますけど、はっきりiso-
> 2022-jpと記述しているのにEUCで送ってくるようなメールは表示できなくて仕方ない
 そうですね。実際に
> Content-Type: text/plain; charset=euc-jp
> Content-Transfer-Encoding: quoted-printable
という mail は EUC の mail は現在 decode 出来ないとの投稿が有ったの
で、しょうがないと思っていたのですが、この mail も EUC だったとは(^^;。

>  っと返事を書いて、結局メール本文は自前でデコードするようにしました。ここま
> でやってしまうと添付ファイルの取り出しも自前で出来てしまうんですけど、下手に
> いじるとまたレベルダウンバグが増えてしまうのでやめときます。っといいつつ、本
> 文部分についての処理でまたレベルダウンが発生するかも…。
 ##user としてはどちらでも構わないのですが、PGP への対応などをして
いると結局自前でやる事になったりして(^^)。

>  charset=iso-2022-jpとなっていた場合でも、本文中にJISコードの文字が無い場合
> にはEUC文字コードかどうか判定して、EUCらしき場合はEUCとして扱うように変更し
 ご苦労様でした。

[ ]