GroupSession
Ver3.0.2 を使用していますが、WEBメールから送信したメールの日本語添付ファイル名が文字化けしているという報告を客先から受けました。日本語のみのファイル名ならOKのようですが、「漢字のファイル名20100801.lzh」のように日本語と半角英数が混ざると化けるようです。webmailソースの「smtp/WmlSmtpSender.java」内の以下の行(2箇所ある)を以下のように修正すると現象が解消するようなのですが、この修正で他の部分には影響がないのかどうかわかりません。<元ソース>mbpFile.setFileName(MimeUtility.encodeText(fileData.getFileName(), encode__, null));<修正後>mbpFile.setFileName(MimeUtility.encodeText(fileData.getFileName(), encode__, "B")); ←★encodeText()の最後の引数を修正取り急ぎ、なにかのヒントになればと思いご報告させていただきました。
javaのapi仕様にこんな記載がありました。------------------------------encodeTextpublic static java.lang.String encodeText(java.lang.String text, java.lang.String charset, java.lang.String encoding) throws java.io.UnsupportedEncodingExceptionRFC 822 --中略--encoding - 使用されるエンコーディング。現在サポートされている値は「B」および「Q」である。このパラメータがnullのとき、エンコードされる文字のほとんどが ASCII文字セットにある場合は「Q」エンコーディングが使用され、そうでない場合は「B」エンコーディングが使用される------------------------------Qエンコーディングが適用されると文字化けしてしまうようですね。Qデコードへの対応は難しいんでしょうか。(すみません、素人意見です)
TOP