- PR -

メールヘッダのMIMEエンコーディング

1
投稿者投稿内容
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2005-03-01 18:54
メールヘッダのエンコーディングについてお尋ねします。

JavaプログラムからJavaMailを使ってメールを送信します。メッセージの作成にはjavax.mail.internet.MimeMessageクラスを利用します。メールのSubjectにはマルチバイト文字(日本語)を使うため、setSubject(String subject, String charset)によりMIMEエンコードします。

このときに指定するキャラクタセットとして、"euc-jp"は一般的に言ってどうなのでしょうか? 問題ない? 慣習上好まれない? 使ってはいけない? ・・・

"iso-2022-jp"が一般的かと思いますが、他の機能との互換性の問題から、"euc-jp"で済ませられるものなら済ませたいのです。しかし"euc-jp"に対応していないメールクライアントがあることも事実です。

ちなみにこの件は海外製パッケージ製品に関するものなので、「ちょっと直せば済む話しじゃん」というわけにはいかない点を予めご理解いただけると助かります。個人的には"euc-jp"の是非やMIMEエンコーディングの仕様などにフォーカスして議論したいと考えています。

皆さんのご意見を伺いたく、よろしくお願いします。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-03-01 20:26
ルールについての話なら
http://www.ietf.org/rfc/rfc2047.txt
これでおしまい。

いちおう追記。
Shift JIS でも EUC でも IANA に登録はあります。

が、どう実装するかということを決める際に考えることは、ふつうは
「相手は誰か?相手によっては対応を切り捨ててしまっても構わないか?」
というあたりでわ。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2005-03-01 20:30 ]
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2005-03-01 22:48
ぽんすさん、ご返答どうもありがとうございます。

引用:

ぽんすさん (2005-03-01 20:26) より:
ルールについての話なら
http://www.ietf.org/rfc/rfc2047.txt
これでおしまい。



仕様上はeuc-jpは全然問題ないということですね。

引用:

が、どう実装するかということを決める際に考えることは、ふつうは
「相手は誰か?相手によっては対応を切り捨ててしまっても構わないか?」
というあたりでわ。



まったくその通りです。パッケージ製品を取り扱っているとどうしても最大公約数的な対応をしがちになります。今回の場合で言うと、euc-jpに対応しないメーラーがごく少数派であれば切り捨てようと思います。
ただし少数派だとしても、一般的にはiso-2022-jpを使うなどという事実があれば、iso-2022-jp対応を強く要求してもいいかなと考えています。

ということで、少し質問を変更します。メールのSubjectに日本語コードをMIMEエンコーディングで埋め込むとき、最もよく使われるキャラクタセットはiso-2022-jpであるという私の認識は正しいでしょうか?

正確な数字は求めていませんので、参考までにご意見をお聞かせ下さい。また、「Outlookは・・・だよ」とか、「XXXというメーラーでは設定できるよ」とかいう情報も大歓迎です。

ちなみに私はThunderbirdを使っていますが、デフォルトはiso-2022-jpで、ちょっと手間をかけてメールを書くときのエンコーディングを変更したら、euc-jpとかにもできました。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-03-02 00:58
引用:

カーニーさんの書き込み (2005-03-01 22:48) より:
仕様上はeuc-jpは全然問題ないということですね。


そうです。
が、EUC-JPで書いているといわゆる機種依存文字をそのまま送信して
しまい、文字化け等の問題を起こしてしまいやすい、という点には
注意しておいたほうがよいと思います。
・・・そこいらのPCで、Microsoftの文字セットでメール書いてる
人についても同じことがいえるから、わざわざ強調するまでも
ないかな?

引用:

ということで、少し質問を変更します。メールのSubjectに日本語コードをMIMEエンコーディングで埋め込むとき、最もよく使われるキャラクタセットはiso-2022-jpであるという私の認識は正しいでしょうか?


そう思います。

本文については、SJISで書いたりEUCで書いたりして有名どころのMUAの
挙動をテストしてみたことはあるんですが(とはいえ、詳しい結果は
覚えていません)、ヘッダについては私は試したことがないです。
予想としては、大部分のMUAではO.K.だろうと思いますが。
テストして/させて確認しておいたほうがよいかも。
カーニー
ぬし
会議室デビュー日: 2003/09/04
投稿数: 358
お住まい・勤務地: 東京
投稿日時: 2005-03-02 11:07
ぽんすさん、度々のご返信どうもありがとうございます。

とりあえず言い過ぎは承知で、「日本ではメールはiso-2022-jpが常識なんだ」と言ってみるだけ言ってみようかな。自分でソースに手を入れられれば、ぱぱぱっとやってしまうんですが。
1

スキルアップ/キャリアアップ(JOB@IT)