中国語メールで文字化けNo.07806
vickwei さん 02/06/21 23:59
 
 中国からの中国語メールで文字化けがありましたので、御報告いたします。
 「Content-Type:」には「text」としか書いておらず、開くと「設定(O)」の文字
コードが「日本語」となっています。編集を許可してここを「簡体字中国語」と変
えてもなお文字化けしています。

 OutLookExpressで開いてみると、最初はやはり文字化けしていましたが、「エン
コード」メニューで「簡体字中国語(GB2312)」とすると、正しく表示されました。


 また、「このメールのログ(L)」で「そのまま開く」をチェックして開き、テキ
ストファイルとして保存した後、このファイルを秀丸で開いてフォントをSimSun等
の簡体字中国語フォントにする(秀丸タイトルバーに「簡体」と表示されます)と、
正しく表示されております。
 鶴亀で文字化け無く読める中国語メールも同様にテキストファイルにして秀丸で
開くとちゃんと表示されていますので、何か不思議な気がしております。

 勝手ながら、上記のようにテキストファイルにしたものを別便で送らせて頂きま
した。よろしくお願いいたします。

[ ]
RE:07806 中国語メールで文字化けNo.07807
vickwei さん 02/06/22 00:12
 
 vickweiです。
 環境を書くのを忘れておりました。
 鶴亀Ver1.98、秀丸3.17、Windows2000SP2、IE6.0です。

[ ]
RE:07807 中国語メールで文字化けNo.07819
秀まるお2 さん 02/06/23 23:05
 
 まいど詳しい情報ありがとうございます。

 送っていただいたメールには文字コードの指定が一切無いようです。

 鶴亀メールは、元々日本語オンリーのメールソフトだったということもありま
して、文字コードの指定が無い物については、まず、「日本語である」という前
提で文字コードの自動判定が働き、ShiftJIS/JIS/EUCの3種類のうちのどれかを
判定します。

 その結果、送っていただいたメールはたまたまEUCと判断されているようです。

 EUCと判断されてしまうとそれはEUC -> ShiftJIS変換されてしまいます。

 その後文字コードを中国語GB2312に指定しなおすと、EUCからShiftJISに変換
された物について、GB2312となってしまい、結果として文字化けするのでした。

 という非常に奥の深い話になります。

 今回のメールに限っては、EUC -> ShiftJIS変換すると0x8240という不正な文
字に変換される文字が1文字含まれているので、たとえば完全な文字コードチェ
ックを行うことで、EUCに誤認されることは防ぐことが出来ると思います。

 あるいは、EUCに誤認されたとしても、その後「GB2312」と指定された時に、
たとえばEUC文字をShiftJISに変換してからGB2312にするような対応も可能かと
思います。(たぶんこれも必須になりそうな…)

 鶴亀メール側としてどう対応するかはしばらく考えてから結論を出したいと思
います。どっちにしても生半可な修正では済まないようです。

 少々お待ちを。

[ ]
RE:07819 中国語メールで文字化けNo.07821
vickwei さん 02/06/24 01:22
 
 お忙しい中、詳しい説明をいただき、ありがとうございました。
 お送りしたのと同じフリーメールサイトからの他のメールでも、やはり同様の現
象が起きています。
 もともと文字コードの指定が無いのは相手が悪いのですし、受信ログのおかげで
メールの内容はちゃんと読むことができますので、全然困ってはおりません。

> 鶴亀メール側としてどう対応するかはしばらく考えてから結論を出し
>たいと思います。どっちにしても生半可な修正では済まないようです。
> 少々お待ちを。

 恐れ入ります。ありがとうございます。

[ ]
RE:07821 中国語メールで文字化けNo.07825
秀まるお2 さん 02/06/24 13:51
 
 問題のメールを複数言語自動判定するようにしたら、

 日本語ShiftJIS --> ×
 日本語EUC      --> ×
 簡体字中国語   --> ○
 繁体字中国語   --> ○
 韓国語         --> ○

 となりまして、ほとんど自動判定不可となりました。後はどの言語を優先するかっ
て話になります。

 とりあえず個人的には韓国語を最優先したいので韓国語とさせていただきます。後
は文字コードを手作業で変更していただくしかありませんが、そういうことでよろし
くお願いします。

 X-Mailer:ヘッダに「beta」と書いてあるのが腹立たしいです。

[ ]
RE:07825 中国語メールで文字化けNo.07833
vickwei さん 02/06/24 22:16
 
 早速対応して頂いたそうで、ありがとうございます。

> とりあえず個人的には韓国語を最優先したいので韓国語とさせていただ
>きます。後は文字コードを手作業で変更していただくしかありませんが、
>そういうことでよろしくお願いします。

 了解いたしました。さらに、SetCharSet関数も既に用意して頂いておりますので
、全然問題ありません。

> X-Mailer:ヘッダに「beta」と書いてあるのが腹立たしいです。

 本当にそうですね。申し訳ありません。

[ ]
RE:07833 中国語メールで文字化けNo.07877
vickwei さん 02/06/26 19:14
 
 何度も申し訳ありません。

 同じメーラーからの、文字コードの指定が無い中国語メールが勤務先に届きまし
て、自宅に持ち帰ろうとエクスポート(鶴亀メール形式、エンコードする、添付フ
ァイルも…、いずれもon)しましたところ、もともとは「text」としか書かれてい
なかった「Content-Type:」が「text/plain; charset=iso-2022-jp」と変わります

 これを自宅でインポートし、「インポート内容についても受信ログも作成する」
をonにして、インポート後ログを開いても正しく表示できません。「text/plain;
charset=iso-2022-jp」を手動で削除して「text」だけにしても同じでした。

 エクスポートの際に、「エンコードする」をoffにすれば、「Content-Type:」は
「text」のままでしたが、これをインポートしてログを開いて保存し、秀丸で簡体
字中国語にしてもやはりだめでした。

[ ]
RE:07877 中国語メールで文字化けNo.07888
秀まるお2 さん 02/06/27 13:47
 
 そのメールはたぶんEUC文字コードと自動判定されてしまったんだと思います。そ
の場合、EUC->ShiftJIS変換された形になってしっているので、そこから言語を変更
しても化けたままです。

 復旧させるには、ShiftJIS->EUC変換が必要です。ということで、次のバージョン
では、

 EUC -> ShiftJIS自動変換した言語不明メールについては、鶴亀メール側で勝手な
がら

    X-Body-Content-Type: text/plain; charset=euc-jp (maybe)

 というヘッダを埋め込むこととし、このようになったメールを後で中国語に言語変
更した場合はShiftJIS->EUC変換してから言語を切り換えるようにしました。

 ただし、エクスポートした場合はダメかもしれません。

 化けたメールを持ち帰るなら、受信ログを開いてそれを「ファイル・名前を付けて
保存...」で保存して持ち帰るのがいいと思います。

[ ]
RE:07888 中国語メールで文字化けNo.07910
vickwei さん 02/06/27 22:55
 
 ありがとうございます。次バージョンを楽しみにしております。

[ ]
RE:07910 中国語メールで文字化けNo.07923
vickwei さん 02/06/28 16:29
 
 Ver1.99で、「受信解析のやり直し」を実行し、正しく表示できること確認いた
しました。
 また、たまたま今日も別のメーラーから「Content-Type:」が「text/plain」だ
けのメールが届きました(中国ではこんなのが多いんですね)が、文字化け無く表示
できています。
 いつもながら、素早い対応に感謝いたします。

[ ]
RE:07923 中国語メールで文字化けNo.07929
秀まるお2 さん 02/06/28 17:26
 
 結局ですが、文字コードの自動判定は

 日本語ShiftJIS / 日本語EUC / 簡体字中国語 / 繁体字中国語 / 韓国語

 の優先順位にしてしまいました。なので、日本語EUCと誤認されなければ中国語と
なります。

> また、たまたま今日も別のメーラーから「Content-Type:」が「text/plain」だ
>けのメールが届きました(中国ではこんなのが多いんですね)

 そういうメールが中国だけであることを祈るのみです。自動判定にも限界がありま
すので。

[ ]