Apple Mailにおけるテキストエンコーディングの優先順位
- 以前のエントリで以下のように書いたが、ちょっと訂正。
Apple Mail(バージョン2.1(752/752.2)で確認)は、日本語環境においては、送信しようとしているメールに含まれる文字の種類によって、US-ASCII>ISO-2022-JP>CP932>UTF-8の優先順位でcharsetを決定しているようだ(CP932というcharsetはIANAに登録されていないという議論は、ここでは措く)。
- 表が修正版。下に行くほど優先順位が低い。上記の引用部分との違いは、SHIFT_JISが追加されている点である。
文字の範囲 | Apple Mailの符号化方法 |
---|---|
ASCII | US-ASCII |
JIS X 0201ラテン文字集合 | SHIFT_JIS |
MacJapanese | ISO-2022-JP |
CP932 | CP932 |
Unicode | UTF-8 |
- 不思議な表である。「MacJapaneseの範囲の文字の符号化方法がISO-2022-JP?」という話は以前にしたので繰り返さない。もう1点目を引くのが、JIS X 0201ラテン文字集合とSHIFT_JISとの対応である。本来、SHIFT_JISのレパートリはISO-2022-JPの上位集合だが、Apple Mailでテキストエンコーディングが「自動」である場合、charset=SHIFT_JISは、JIS X 0201ラテン文字集合専用として用いられるようだ(この話はかなりややこしくなるので、詳しくは後日)。
- 日本語環境におけるApple Mailでは、本文に「Hello!」と記したメールは、手動でテキストエンコーディングを指定しない限り、charset=US-ASCIIで送信される。これに(全角ではない)円記号を追加した場合はcharset=SHIFT_JIS、さらに仮名や漢字を1文字でも加えると、charset=ISO-2022-JPとなる。丸付き数字やハートマークなどの記号もISO-2022-JP(もどき)で符号化される。charset=CP932となるのは、ハシゴ高など「IBM拡張文字」の範囲内の漢字が含まれている場合である。MacJapaneseにもCP932にもない文字が使われているメールは、charset=UTF-8となる。