添付ファイルの文字コードが変わるNo.45596
miyan2000 さん 14/01/09 14:06
 
文字コードがEUCのテキストファイルが添付されたメールを受信すると
受信時に添付ファイルの文字コードがShift-jisに変換されてしまっています。

2013年10月以降に発生するようになりました。
秀丸・秀丸メールともに常に最新にしているので
V6.16以降の問題だと思われます。

[ ]
RE:45596 添付ファイルの文字コードが変わNo.45597
秀まるお2 さん 14/01/09 15:19
 
 実は、元々の秀丸メールにテキスト形式添付ファイルの文字コードを変換する
機能があって、それが効いてるせいで変換されてるんだと思います。

 一応、昔のバージョンからあって、デフォルトONになっていたりします。

 「設定・全般的な設定...」の「上級者向け - デコード - 添付ファイル」の
中にある

 □ 受信したテキスト形式添付ファイルをShift-JISに自動変換する

 ってオプションがあって、これをOFFにすれば、一応回避できるはずだと思い
ます。

 これをOFFにして、問題のメールを選択してから「編集・受信解析のやり直
し」を実行して、出てきたメールの添付ファイルを見てみて欲しいです。

--------------------------------------------------------------------

 そもそもこのような変換オプションがあって、しかも標準でONになってるのは
なぜかというと…。秀丸メールを開発しだした当初、他のメールソフトでの動作
をいろいろ調べたら、テキスト形式添付ファイルが自動的にJIS文字コードに変
換して送信するメールソフト、および、受信したテキスト形式添付ファイルを有
無を言わさずShift-JISに変換するソフトがありました。具体的なソフト名は覚
えてないんですが、たぶんOutlook Expressがそうだったんじゃないかと思いま
す。

 そういうメールソフトで添付ファイルが送られてくると、その添付ファイルを
秀丸メールで受信した時に、添付ファイルがJIS文字コードに変換されたままに
なってしまって都合が悪い、というのがありました。

 そういう事情があって、文字コードを自動で変換するのがデフォルトONになっ
てます。

 今現在のOutlook ExpressやWindows Liveメールではもしかしたら違う動作に
なってるかもしれませんけども…。もう一回その辺調べてみて、もしも最近は変
換しないのが標準になってそうでしたら、変換するオプションは強制的にOFFに
してしまおうかなぁと思います。

 あと、昔は大丈夫だったはずなのに最近になって自動変換されるようになった
としたら、ちょっと専門的になりますが、添付ファイル付きメールの、MIME
パートの中でのContent-Type:ヘッダが以前と今とで違うせいがあるかもしれま
せん。

Content-Type: text/plain; name="..."

あるいは

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

 とだけなってれば秀丸メールは変換しませんが、

Content-Type: text/plain; charset="euc-jp"; name="..."

 のように文字コード指定されてると変換してしまいます。そういう違いが(差
出人側のメールソフトで)あったせいで、違いが出てきてしまったんじゃないか
と思います。

[ ]
RE:45597 添付ファイルの文字コードが変わNo.45598
miyan2000 さん 14/01/09 16:11
 
ご回答ありがとうございます。

設定を変更することで対応出来ました。
恐らく原因はご指摘のとおり、送信者のメーラの問題の可能性が高いです。
問題が発生した頃に送信者のメーラがWinbiffからThunderbirdに変わってました。
当時のメールの受診ログが残ってなかったので、詳細はわからないですが、恐らくヘ
ッダーの違いによるものだと思います。

ちなみにですがOutlook2010のデフォルトの設定では
勝手に変換はされないようです。ご参考まで。

[ ]
RE:45598 添付ファイルの文字コードが変わNo.45599
秀まるお2 さん 14/01/09 17:40
 
 改めてテストしてみたら、文字コードを勝手に変換して送ってくるのは
Thunderbirdだけのようでした。

 他の有名所のメールソフトは文字コードを勝手に変換することは無いようでし
た。

Becky!:    Content-Type: application/octet-stream; name="..."
           文字コード変換無しでそのまま送ってくる。

Outlook Express:
           Content-Type: text/plain; name="..."
           (文字コード指定が無いので問題ないし、
             Outlook Express自体も何も文字コード変換しないで
             送ってくる)

Windows Liveメール:
           Outlook Expressと同じ。

Thunderbird:
           EUCの場合は
           Content-Type: text/plain; charset=EUC-JP; name="..."
           Shift-JISの場合は、JISに変換されて、
           Content-Type: text/plain; charset=ISO-2022-JP; name="..."
           JISの場合はそのままで、
           Content-Type: text/plain; charset=ISO-2022-JP; name="..."

 ってことで、つまり、Thunderbirdで添付ファイルとして送ったShift-JIS形式
ファイルがJISになったままだとまずいということでわざと変換してるようです。

 それだけが問題なので、とりあえずEUCからShift-JISへの変換はしないように
仕様変更させていただきます。次のV6.22以降からそのように修正してみます。

[ ]
RE:45599 添付ファイルの文字コードが変わNo.45601
どら焼き さん 14/01/10 09:00
 
秀まるお様

どら焼きです。
昨年はいろいろお世話になりました。
今年もよろしくお願い致します。

> 改めてテストしてみたら、文字コードを勝手に変換して送ってくるのは
>Thunderbirdだけのようでした。

>Thunderbird:
>           EUCの場合は
>           Content-Type: text/plain; charset=EUC-JP; name="..."
>           Shift-JISの場合は、JISに変換されて、
>           Content-Type: text/plain; charset=ISO-2022-JP; name="..."
>           JISの場合はそのままで、
>           Content-Type: text/plain; charset=ISO-2022-JP; name="..."
>
> ってことで、つまり、Thunderbirdで添付ファイルとして送ったShift-JIS形式
>ファイルがJISになったままだとまずいということでわざと変換してるようです。
>
> それだけが問題なので、とりあえずEUCからShift-JISへの変換はしないように
>仕様変更させていただきます。次のV6.22以降からそのように修正してみます。

横から失礼致します。

私は会社で秀丸メールを使用しておりますが、まわりではThunderbirdの
利用者も結構いて、その方と添付ファイル付きメールのやり取りも、
かなりあります。
今回の修正で、下記のような場合、現在からどのように変わるでしょうか?(文字化
けとかもありえる?)

 1)Thunderbirdの利用者から添付ファイル付きのメールを
   受け取った場合。
 2)私(秀丸メール)から、Thunderbirdの利用者へ
   添付ファイル付きのメールを送付した場合。
 3)項番1で受け取ったメールを、添付ファイル付きのまま、
   返信した場合。あるいは、Thunderbirdの利用者へ
   転送した場合。

ちなみに、「設定・全般的な設定...」の「上級者向け - デコード -
添付ファイル」の中にある

 □ 受信したテキスト形式添付ファイルをShift-JISに自動変換する

は、現在、ONになっております。

ご回答をよろしくお願い致します。

[ ]
RE:45601 添付ファイルの文字コードが変わNo.45602
秀まるお2 さん 14/01/10 09:31
 
 一応、今回の修正で悪い方向にいくケースは無いはずです。

>  1)Thunderbirdの利用者から添付ファイル付きのメールを
>    受け取った場合。

 現状では、テキスト形式添付ファイルをThunderbirdから送って秀丸メールで
受信した場合、そのテキスト形式添付ファイルの文字コードとの対応関係で言う
と、

   Thuderbird          秀丸メール
   Shift-JISで発信 --> Shift-JISで受信
   JISで発信       --> Shift-JISで受信
   EUCで発信       --> Shift-JISで受信

 と、どの文字コードで送っても結果全部Shift-JISに変換される形になります。
これが、新しい仕様では、

   Thuderbird          秀丸メール
   Shift-JISで発信 --> Shift-JISで受信
   JISで発信       --> Shift-JISで受信
   EUCで発信       --> EUCで受信

 となります。JISで発信したファイルをJISで受け取るようにしようとすると、
今度は逆にShift-JISで発信したファイルもJISになってしまうので、これは出来
ないです。(Thunderbirdが変換して送ってきてしまってるのでどうしようもな
い)

>  2)私(秀丸メール)から、Thunderbirdの利用者へ
>    添付ファイル付きのメールを送付した場合。

 これについては今回の修正とは関係なく、仕様が変わることは無いです。

 秀丸メールは、添付ファイルを送るときに文字コードの変換はしてないし、
MIMEパートに「charset=XXXX」を付けることもしてないので、Thunderbird側で
勝手に変換されることも無いです。今試しにEUC文字コードのファイルを送って
みましたが、そのままEUCコードのまま受信しました。

>  3)項番1で受け取ったメールを、添付ファイル付きのまま、
>    返信した場合。あるいは、Thunderbirdの利用者へ
>    転送した場合。

 「そのまま転送」で受信ログを転送した場合は、ThunderbirdからThunderbird
にメールを送ったのと同じ扱いになり、そうでない場合は秀丸メールから
Thunderbirdに送った扱いになります。

 どっちにしても、Thunderbirdが絡んでくるケースでは、JIS文字コードのテキ
スト形式ファイルは勝手にShift-JISに変換されることがある、ってことだけが
注意点になるかと思います。

[ ]
RE:45602 添付ファイルの文字コードが変わNo.45607
どら焼き さん 14/01/10 15:24
 
秀まるお様

詳しいご説明、ありがとうございます。

> 一応、今回の修正で悪い方向にいくケースは無いはずです。

> どっちにしても、Thunderbirdが絡んでくるケースでは、JIS文字コードのテキ
>スト形式ファイルは勝手にShift-JISに変換されることがある、ってことだけが
>注意点になるかと思います。

場合分けのご説明で、「悪い方向にいくケースは無い」ことを
理解出来ました。
仮に何かありましたら、またサポートいただけると助かります。
よろしくお願い致します。

[ ]