UTF-8は8bitであるため、いくらヘッダーはMIMEエンコードしていても、bodyはUTF-8のまま8bitでメール送信すると、通過するMTA(Mail Transfer Agent)によっては、勝手にQuoted-Printableエンコードして読めなくしてしまったり、8bit目を落とすかもしれないということで、"より安全なUTF-7"をメール送信で使うのが良いという見解もあります。
では、Unicode(UTF-7)で書かれたメールを受信した際に、各種メールソフトがどの程度、Shift_JISで言うところのNEC特殊文字(丸の中に数字が入っているものや、「(株)」の一文字版など))や拡張文字(はしご高・や、SMAPの草剛の「」など。)、ハングル文字の表示への対応をまとめてみました。
メール送信用に利用したのはOutlook Express6.0(WindowsXP)でした。また、これはあくまでもUTF-7でのテキストメールの受信テストであり、一般的に利用されているISO-2022-JPではNEC特殊文字や半角カタカナの利用は控えるべきであり、またハングル文字の送信はISO-2022-JPでは不可能であることは言うまでもありません。
また、日本語とハングル文字の混合文を送るためにUTF-7で送信してテストしましたが、これは韓国語だけの文章をEUC-KRなど韓国語固有の文字コードで送信した場合の結果とは自ずと結果が異なることを予め申し述べておきます。なお、UTF-8メールでの送受信テストの結果はこちらです。
|
OS | メールソフト名 | NEC特殊 文字 | 拡張文字 | 半角 カタカナ | ハングル |
WindowsXP | Outlook Express 6.0 SP1
(6.00.2800.1123)
| ○ | ○ | ○ | ○ |
Outlook2002 sp3 | ○ | ○ | ○ | ▲※1 |
Becky! 2.08.01 | ○ | ○ | ○ | ▲※2 |
鶴亀メール 3.13 | ○ | ○ | ○ | ○ |
Opera M2
(Opera6.03付属) | ○ | ○ | ○ | ○ |
Netscape 7.0 メール
| ○ | ○ | ○ | ○ |
Netscape Messnger
(Netscape4.75付属)
| ▲※3 | ▲※3 | ▲※3 | ▲※3 |
※1 メール本文中にハングル文字を書くことは問題ありませんでしたが、メールのサブジェクトに使うと文字化けしていました。そもそも、Outlookではメールのサブジェクトにハングル文字を使うことを想定していないようで、新規作成でクリップボード経由でペーストしても「?????」になります。また、「Outlook Express6.0」は一応「○」にしましたが、確かにメールのプレビュー・パネルではサブジェクトも文字化けしていないのですが、メッセージ一覧のパネルではハングル文字は「??」と表示されます。マイクロソフト社製品では、メールサブジェクトのようにUTF-7の文字列がBase64エンコードされているものを正しくデコードできないようです。
※2 手動での設定が必要。UTF-8ではフォントを「Arial Unicode MS」に変更しても正しく表示されませんでしたが、UTF-7では、「Arial Unicode MS」に設定することで正しく表示されました。
※3 デフォルトのエンコード設定:「日本語(自動選択)」では不可でした。手動で、「表示→文字コードセット→Unicode(UTF-7)」とすることで正しく表示されました。ただし、Netscape Messengerの場合、UTF-7を選択すると、そのメールだけでなく、他のメールもすべてUTF-7で再表示されるため、読み終えたら、いちいち「日本語(自動選択)」に変更しなければなりませんでした。また、ハングル文字の表示のためには、ブラウザの項目のところで説明したように設定が必要です。
OS | メールソフト名 | NEC特殊 文字 | 拡張文字 | 半角 カタカナ | ハングル |
WindowsME | Outlook Express 5.5
(5.50.4807.1700)
| ○ | ○ | ○ | ○ |
Opera M2
(Opera6.03付属)
| ○ | ○ | ○ | ○ |
Netscape Mail
(Netscape6.01付属)
| ○ | ○ | ○ | ○ |
Netscape Messnger
(Netscape4.6付属)
| ▲※4 | ▲※4 | ▲※4 | ▲※4 |
※4 「※3」に同じ。
OS | メールソフト名 | NEC特殊 文字 | 拡張文字 | 半角 カタカナ | ハングル |
Windows98 | Outlook Express 5.5
(5.50.4522.1200)
| ▲※5 | ▲※5 | ▲※5 | ▲※5 |
Opera M2
(Opera6.03付属)
| ○ | ○ | ○ | ○ |
Netscape Mail
(Netscape6.01付属)
| ○ | ○ | ○ | ○ |
Netscape Messnger
(Netscape4.6付属)
| ▲※6 | ▲※6 | ▲※6 | ▲※6 |
※6 「※3」に同じ。
Macで受信した際には、下記のような対応状況になりました。
OS | メールソフト名 | NEC特殊 文字 | 拡張文字 | 半角 カタカナ | ハングル |
MacOS10.3.3 (Panther) | Mail 1.3.4 | ×※7 | ×※7 | ×※7 | ×※7 |
Netscape 7.0 メール | ▲※8 | ○ | ○ | ○ |
※7 私が調べた限りでは、UTF-7を全くサポートしていません。メニューの「メッセージ」→「テキストエンコーディング」を見ても「Unicode(UTF-8)」はありますが、「Unicode(UTF-7)」は存在しません。
※8 本文中に使われているNEC特殊文字(①ⅱ㈱など)は正しく表示されましたが、メールのブジェクト(件名)に用いている場合、文字化けしました。
OS | メールソフト名 | NEC特殊 文字 | 拡張文字 | 半角 カタカナ | ハングル |
MacOS9.2.2 | Outlook Express 5.0 | ○ | ×※9 | ○ | ○※10 |
Netscape 7.0 メール
| ○ | ○ | ○ | ○※10 |
Netscape Mail
(Netscape6.1付属)
| ○ | ×※11 | ○ | ○※10 |
Netscape Messnger
(Netscape4.7付属)
| ×※12 | ×※13 | ○ | ○※10 |
※9 正しく表示される漢字はごく一部で、ブラウザ(Internet Explorer5.17や5.0、4.5)で正しく表示される漢字だけ。360文字中126文字(韓国語フォントインストール済みの場合)。韓国語と中国語のフォントを両方インストールしている場合で、約72%の261文字をサポート。詳細はブラウザ編の解説をお読みください。
※10 ハングル文字の表示のためには韓国語のフォントをカスタムインストールする必要があります。インストール方法はこちらを参照してください。
※11 正しく表示される漢字はごく一部で、ブラウザ(Netscape6.1)で正しく表示される漢字だけ。360文字中約114文字(韓国語フォントをインストールしている場合)。韓国語と中国語のフォントを両方インストールしている場合で、約71%の256文字をサポート。詳細はブラウザ編の解説をお読みください。
※12 「①」や「ⅱ」は表示されますが、「㈱」は表示されません。これはブラウザ(Netscape4.7)の仕様と全く同一です。詳細は、NEC特殊文字に関するブラウザ編の解説ページをご参照ください。
※13 正しく表示される漢字はごく一部で、ブラウザ(Netscape4.7)で正しく表示される漢字だけ。360文字中約95文字(韓国語フォントをインストールしている場合)。韓国語と中国語のフォントを両方インストールしている場合で、約66%の238文字をサポート。詳細はブラウザ編の解説をお読みください。
結論 調査した範囲内では、UTF-8への対応状況とほぼ一緒でした。Windows版のOutlook Express5.0や、Netscape Messenger(Netscape4.X系)は「日本語(自動選択)」から手動で「Unicode(UTF-8)」に変更する必要がありましたが、自動判別に問題があるだけで、全く見ることができないわけではありませんでした。ただし、MacOS10.3.Xの標準メーラーである「Mail 1.3.4」でUTF-7をサポートしていない状況は、あまり無視できないと思います。
確かに、経由するMTA(Mail Transfer Agent)によっては8bitメールはリスクがあるかもしれませんが、現状では、7bitのUTF-7へのMUA(Mail User Agent。メールソフト)の対応状況のほうが考慮すべき問題であるように私は思います。では、どうすれば良いのかというと難しい問題ですが、一つの解決策はサブジェクトや差出人の2バイト文字だけでなく、本文も同じようにMIMEエンコードしてしまえばどうだろうかというのをこちらで考えてみました。
|
|