2013.1.7 (Mon)

メール文字化け

別のメール環境でも送信したものが読めるように、メールを送るときはBccに自分を追加しているのですが、随分前からたま〜にAndroidで文字化けすることがありました。
スマホの普及率も高いし、あんまり放っておくのもよくないので、ちょっと調べてみましたよ、と。

Macのメールクライアントが「Mail」、Androidのメールクライアントが「メール」。おかげで検索してもそのソフトの情報に全然たどり着かないっ。こういうアプリ命名、やめてほしいですねー。

こういう「$B」が入ったメールが届く。

ちょっと調べると、どうやらcharsetがiso-2022-jp-2になってると、Androidのメーラーではうまく表示できないらしい……。



ちょっと同じ文言で「iso-2022-jp」「iso-2022-jp-2」で2通送ってみる……


↑テキストエンコードを選んで。

MacOS(Lion)の「Mail」では……

2通とも正しく表示。
まぁ、送ってる本人(?)なんだから正しく出してくれないと困る。

Android(2.3.4)の「メール」で同じメール。

下のが化けっ。どうやらAndroid4.0以降では化けないらしいんだけど、やっぱり「iso-2022-jp-2」の方が化ける。

Mac OSXの「Mail」が自動エンコードで「iso-2022-jp-2」にしちゃう現象は、

・「iso-2022-jp」「iso-2022-jp-2」どちらかのメッセージに返信する
・返信する元メッセージにWindowsの機種依存文字を含む

という場合らしい。多分「全角チルダと波ダッシュ」あたりの問題なんだろうなー。
で、「なんだ、元メッセージ起因で化けるんじゃん」ってなったんですが、そうも言ってられないですよね。
送る前にエンコーディングを「iso-2022-jp」にすればいいのね、って結論にはなりましたが、めんどうくさいので、別の方法が欲しい。
いろいろ調べてる途中で「LetterFix」という、機種依存文字を変換して、エンコーディングを直してくれるのを発見したのでいれてみました。

http://sourceforge.jp/projects/letter-fix/

いままで化けていたような返信動作をしたときに、ダイアログで知らせてくれます。
おお、こりゃ便利〜♪
この記事のURL: