ブログトップ 記事一覧 ログイン 無料ブログ開設

Mac OS Xの文字コード問題に関するメモ このページをアンテナに追加 RSSフィード

2012-04-19

iPhoneの波ダッシュと全角チルダ


  • iPhoneで「〜」を入力したいとき、「から」と打って変換すると、(Mac風に)U+301C(波ダッシュ)になる。

  • が、キーボードの「ー」や「-」をタップしてその仲間から「〜」を選ぶと、(Windows風に)U+FF5E(全角チルダ)になる。

  • 多くの場合、どちらを使っても特に問題はないのだが、条件によっては、これが原因となって文字化けしたりする*1。たとえば、SoftBank iPhoneからU+FF5E(全角チルダ)のほうを使って「やほ〜」というメッセージを送信すると、charset=Shift_JISになる(au iPhoneならcharset=CP932)。この時点ですでにちょっと珍しい動作なのだけれど、しかし、たいていのメーラーはこれを表示できると思う。もちろんiPhone Mailなら表示できる。

  • 次に、この「やほ〜」というメッセージに「ども〜」というコメントを付けて転送する。今度は「ども〜」の「〜」は、U+301C(波ダッシュ)のほうにしてみよう。

  • これを受信すると、「やほ〜」の「〜」は化けないが、「ども〜」の「〜」は文字化け記号(U+FFFD)や豆腐に化けている。

  • 理由をていねいに述べると長くなるので大ざっぱに言うと、①転送部分にU+FF5E(全角チルダ)が含まれていることによりcharset=Shift_JISになる、②iPhone Mailではメッセージを転送するとリッチテキストメールになる、③iPhone Mailがリッチテキストメールを生成する際に使用するUnicodeShift_JISの変換テーブルにはU+301C(波ダッシュ)のフォールバックマッピングが含まれていない、というわけで化けるのだと思う。

*1iPhoneの波ダッシュと全角チルダにかかわる文字化けネタは、akane_nekoさんに垂れ込んでいただきました。毎度どうも!

midnightwalkermidnightwalker 2012/04/20 04:31 つか、“iPhone Mail”は全角チルダをどこにマッピングしてるのでしょう^^;
なんかすごく変なことになってる様なw

midnightwalkermidnightwalker 2012/04/20 04:34 どこに→なんてところに
連投すみません><

NAOINAOI 2012/04/20 12:31 iPhone Mailはcharset=Windows-31Jのような意味でcharset=Shift_JIS(またはCP932)を使っていたりするので、U+FF5E←→0x8160なんですが、U+301C→0x8160のフォールバックが、状況によってあったりなかったりするんですよね。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証