添付ファイルの文字化けにつきましてNo.44598
mei_satsuki さん 13/06/27 13:02
 
Mac版のThunderbirdから送信されたメール添付ファイルを秀丸メールで受信すると、
添付ファイル名が文字化け(濁点が後ろにずれる)という症状がでます。
また、この添付ファイルをデスクトップにドラッグ&ドロップすると$u8_{E383ADE
3・・・・・・(省略)}というような長いファイル名に変わってしまう症状も確認しま
した。
※メーラー上でダ添付ファイルをダブルクリックしても、ファイル名の表示が、$u8_
{E383ADE3・・・・・・(省略)}のようなファイル名になります。

少し調べてみると、UTF-8では、例えば「が」のような濁点文字を「か」+「"」のよ
うに2文字分で解釈させるNormalization Form D(NFD) と「が」という1文字で解釈さ
せるNormalization Form C(NFC)という正規化方法に揺れがあり、MacOS Xでは、NFD
で正規化されたUTF-8を採用し、WindowsではNFCで正規化されたUTF-8を採用している
といった違いがあることがわかりました。

WindowsにはNFDとNFC間で変換機能がないようで、ファイルが同名にもかかわらずNFC
で正規化されたUTF-8とNFDで正規化されたUTF-8のファイル名が共存する状況(上書き
されない)を確認しました。
※逆にMacOSですと、NFDで正規化されたUTF-8にファイル名が変換されて
いました。

Mac版Thunderbirdは、添付ファイル名を文字コードUTF-8で送信する仕様のようなの
で、NFDで正規化されたUTF-8の添付ファイル名をUTF-8として送信した場合、秀丸
メール側が添付ファイル名の表示をする上で、表示において文字化けが起きているの
ではないかと考えられます。

長文となり、申し訳ございません。
この問題について対処方法等があれば、ご教授いただけませんでしょうか?

[ ]
RE:44598 添付ファイルの文字化けにつきまNo.44599
秀まるお2 さん 13/06/27 13:40
 
 「が」が「か+゛」になってしまう件については、うちの会社にあるMac mini
でサンプルメールを作ってテストしてみます。テストして何か分かり次第またお
返事を書かせていただきます。

> この添付ファイルをデスクトップにドラッグ&ドロップすると$u8_{E383ADE
> 3・・・・・・(省略)}というような長いファイル名に変わってしまう症状も確認
> しました。

 すみませんが実はこれは仕様というか、ドラッグアンドドロップの場合だと、
どうしても内部的なファイル名のままになってまう制限がありまして、オプショ
ンで回避が可能です。

 「設定・全般的な設定...」を実行し、左下にある「上級者向け設定」のオプ
ションをONにします。それから設定一覧の「上級者向け - その他 - その他2」
のページを選択すると、そこに


  外国語ファイル名の添付ファイルをドラッグする時に正しいファイル名
  のテンポラリファイルを生成してドラッグする

 ってオプションがあるので、それをONにしていただきますと、問題が回避出来
ます。添付ファイルを直接アプリケーションソフトのウィンドウにドラッグドロ
ップする場合はちょっと問題が起きてしまうのですが、コピーするだけならそれ
で問題無いです。なのでそれでお願いします。

 (詳しい事情はヘルプに書いてあるので、詳細はヘルプの方を参照お願いしま
す)

[ ]
RE:44599 添付ファイルの文字化けにつきまNo.44600
秀まるお2 さん 13/06/27 16:31
 
 Mac miniで「が」入り添付ファイルを送るテストをしたら、おかしい現象が再
現しました。

 「が」が分解されて送られる「か」+「゛」の「゛」の文字ですが、普通の全
角の濁音記号のU+309Bじゃなくて、U+3099になるようです。それがちょっとこち
らの想定外というか、この文字を単独でShift-JISに変換しようとすると該当す
る文字が無い(Windowsの文字コード変換関数からエラーが返る)ということで、
ファイル名が正しく生成されないようでした。

 ちなみにWindows Liveメールでテストしたらうまく「が」が出ました。

 原因が分かったので、次のβ版(V6.14β6)にて対処させていただきます。

 他にもこういう、ユニコードの特殊な文字があると正しいファイル名にならな
い可能性があるので、その辺も含めてうまく解釈出来るように修正させていただ
きます。

 β版がアップロード出来たらまた書き込みさせていただきます。

[ ]
RE:44600 添付ファイルの文字化けにつきまNo.44601
mei_satsuki さん 13/06/27 17:57
 
ご回答ありがとうございました。
何卒、よろしくお願いします。

> Mac miniで「が」入り添付ファイルを送るテストをしたら、おかしい現象が再
≪全文引用されていたのでコミュニテックス会議室システムが引用部分を省略処理し
ました。≫
> β版がアップロード出来たらまた書き込みさせていただきます。

[ ]
RE:44600 添付ファイルの文字化けにつきまNo.44602
秀まるお2 さん 13/06/27 18:01
 
 独り言になりますが…

 Windowsの文字コード変換関数(WideCharToMultiByte)で

 U+304B U+3099
 か     ゛

 の2文字セットを渡してShift-JISにしようとしても、うまく「が」になって
くれないのですね。ということは、自前で変換処理を作るしか無さそうです。

 思ったよりも面倒そうです。

 一般的にはICUってライブラリ使うような話もあるようですが…

 自前でやるので、とりあえず変換出来るのはU+3099、U+309Aの2文字だけで、
他のconvining character類は対応出来ないことになりますが、とりあえずMacOS
での添付ファイル問題はそれで大丈夫だと思うので、そういうことにさせていた
だきます。

[ ]
RE:44602 添付ファイルの文字化けにつきまNo.44603
秀まるお2 さん 13/06/27 19:09
 
 combining character の間違いでした。

[ ]
RE:44602 添付ファイルの文字化けにつきまNo.44604
colder さん 13/06/27 23:03
 
colderです

一応、最近のWindowsには変換関数があったりします。
http://msdn.microsoft.com/en-us/library/windows/desktop/dd319093%28v=vs.85%29.aspx

[ ]
RE:44602 添付ファイルの文字化けにつきまNo.44605
h-tom さん 13/06/27 23:30
 

h-tom です。

情報として。

この件はNFDの正規化の問題と言えばそうなんですが、どちらかというと、
「UTF-8-MAC」関連?
MACのファイルシステムは、単純にNFDで正規化しているだけではないみたいですね。

最近のnkf(nkf32.dll)は、「UTF-8-MAC」の入力には、対応しているようです。
どの程度まで対応しているかは、良くわかりませんけど。

[ ]
RE:44605 添付ファイルの文字化けにつきまNo.44606
秀まるお2 さん 13/06/28 15:58
 
 いろいろ情報どうもです。

 Vista以降からはちゃんとAPIもあるということで…。とりあえずはU+3099、
U+309Aだけ自前で変換するようにしますが、その辺の情報も参考にさせていただ
きます。

 それと、Windows Liveメールその他でこの「が」入りの添付ファイルを保存す
ると、そのまんまの文字コード(か+U3099)で保存されるようです。これはこれ
で、後々ファイル名が普通の「が」と違うことで問題が起きそうな気もします。

[ ]
RE:44606 添付ファイルの文字化けにつきまNo.44617
秀まるお2 さん 13/07/01 15:28
 
 先ほどV6.14β6をアップロードしました。それで対応しています。

 既に受信してしまったメールについては、「編集」メニューの「受信解析のや
り直し」コマンドを実行してもう一度メールを生成しなおせば、新しく生成され
なおしたメールの方では正しいファイル名になります。

 よろしくお願いします。

[ ]