CP932

Mac OS X Leopard で作成したメールがしょっちゅう文字化けします。



頻発するのでネットで調べたら,情報がたくさんありました。いい世の中になったもんです。

文字化けする原因は,Mac OS X Leopard の Mail.app が,送信するメールの本文を CP932 で符号化してしまうからです。

勤めている会社のメールの使いかたはかなりよろしくなくて,機種依存文字の使用や全文引用は当たりまえ,ひどいときには Multipart/Alternative と宣言しながら text/html のパートしか無い,ISO-2022-JP なのに BASE64 でくるんでしまう(別に RFC 的に禁止されている訳じゃありませんけど,必要ないですよね),そりゃあもう,悪の見本のオンパレードな訳ですよ。(ちなみに弊社製メールクライアントのテストのために,Subject: の MIME Encoded Word 規則違反のメールを202通ほど飼っていたりします。もう,マニアですね。)

昔の会社は各拠点に「口うるさい親父」ってのがいて,さらに当時は世の中にまだネチケットという言葉もあって,わりときれいなメールの運用が実現できていた気がするんですけどねぇ。

そんな汚いメールをたくさん受け取るのですが,仕事ですから当然そのいくつかには返信をします。で,Mail.app が機種依存文字や「〜」なんかを本文の中に検知すると,黙って本文全体を Content-Type: text/plain; charset=CP932; format=flowed にしてしまう。ちなみに Content-Transfer-Encoding: BASE64 です。

CP932 は IANA に登録がありません。どうせなら Windows-31J だろう,という突っ込みはさておき,警告ダイアログを出してほしいのですよ。そして,その警告ダイアログで符号化方式の変更ができるようにしてほしいのですよ。

CP932 なんて宣言をしたら,多くのメールクライアントでは表示できません。会社で主流の Thunderbird は文字化けするようで,しょっちゅう「読めませんでした」とクレームがきます。悪いのはこちらでして,しかも僕は会社の中ではこの分野の専門家なんですね。立つ瀬が無いったらありゃしない。

一文字二文字化けてても,ISO-2022-JP か,どんなに譲っても UTF-8 で送信しないと,コミュニケーションが成り立たないと思うんですけどね。送信するメールの本文の charset が CP932 になっていたら,強制定期に ISO-2022-JP か UTF-8 に変換して charset も修正する,というハックがあれば素敵なんですけど。

百歩譲って,本文の符号化方式を変更できなくても,charset の宣言を Shift_JIS に変更するだけで,少なくとも Thunderbird では読めるはず。

ちなみに,Apple にはフィードバック用のシステムってあるんでしょうか。ディスカッション・ボード?

Apple さん,なんとかなりませんかねぇ。

by melekai | 2009-01-22 10:51 | Mac