「Apple Mailで返信したら文字化けしていると言われた」といったケースのありがちなパターン
- Outlook Express(やOutlook)は、「HTMLメールの空行には必ずスペース(文字実体参照で表現されたU+A2C0 NO-BREAK SPACE)を入れる」ことになっているようだ(http://discussions.info.apple.co.jp/WebX?14@295.j3PUb3D8DGy.16@.f012fb9/56)。
- HTMLにおける連続するBR要素を1つにまとめて解釈する実装が存在するため、「改行の連続」を確実に表現できるよう、このような仕様となっているらしい(ここでは「それがHTML的に正しいかどうか」といった話には踏み込まない)。
- Outlook Expressから送信された空行入りのHTMLメールをApple Mailで受信し、リッチテキスト形式で引用すると、行頭のスペースはNO-BREAK SPACEとして符号化されるため(あるいは文字実体参照が再符号化されるため)、charset=UTF-8となる。
- Windows 98のOutlook Expressでは、UTF-8のメールを読むためにはcharsetを手動で指定しなければならない(それまでは化けている)らしい(http://www.securehtml.jp/utf-8/utf8_mail.html)。
- 対処法。必要がなければリッチテキスト・メールは使わない。受信メールと同じフォーマットを使う設定にしない。リッチテキストを使う必要がある場合、空行を含めた引用はしない。