iPhoneのSafariの文字化けがtwitterのバグだった件
@moji_memo あれ? どうしてiPhoneのSafariで愉快な動物たちが豆腐になってるんだろ。
2011-08-01 22:46:30test_0802_01 U+26BD:⚽, U+FA19:神, U+20B9F:𠮟, U+20BB7:𠮷, U+2F884:巽, U+1F430:🐰, U+0031 U+20E3:1⃣,
2011-08-02 12:54:38iPhoneのSafariは、JavaScriptのUnicodeエスケープシーケンスにおけるサロゲートペアの解釈に失敗している、ということのようだ。Unicodeスカラ値の5桁目を落としちゃってる。
2011-08-02 13:31:11わかってみれば、小形さんの実験中に同じのがあったな。そういうアプリがあるというのは覚えてたけど、Safariだとは思わなかった。
2011-08-02 13:31:23@moji_memo いや、mobile.twitter.comだと、UnicodeエスケープシーケンスじゃなくUTF-8かな。もうちょっと調べよう。
2011-08-02 13:54:40iPhoneのSafariでtwitterを見るとBMP以外の文字が化ける現象。iPhoneのSafariがUnicodeエスケープシーケンスにおけるサロゲートペアを正しく解釈して表示することを確認。ソース(twitter)のほうに問題がある可能性も捨てられない。
2011-08-03 19:35:54test_0805 U+1F430:🐰, U+20B9F:𠮟, U+20BB7:𠮷, U+2F884:巽
2011-08-05 16:23:07iPhoneのSafariでtwitterを表示したとき、1面/2面の文字は、白い画面( http://t.co/n6VVPlS )では化け、雲の画面( http://t.co/bVrQyTE )では化けない。
2011-08-05 17:03:57@moji_memo どなたか白い画面(iPhoneのSafariに最適化された表示?)のソースのありかをご存じでしたら教えてください!
2011-08-05 17:04:50@moji_memo スノレパですがMacのSafariで開発メニューを有効にしユーザーエージェント(UA)をiPhoneにすると http://t.co/xR5iBHC に行けてスクショと同じ化け方.おまけでUAをiPadにすると1F430だけトーフで他は化けず
2011-08-05 17:35:56@moji_memo あーUA変更は必ずデフォルト(Mac)で表示してからにして下さい.Mac>iPhone>iPadと連続変更するとページ書き直しの無限ループに入りましたw あと,(予想通り)LionのSafariだとUAがiPadで,正しくウサギ出ました
2011-08-05 17:59:37.@muota_here どのプロセスに問題があるのかまでは追い切れませんでしたけど、化けるのは、Safariではなくtwitterの問題っぽいですね。ありがとうございました!
2011-08-05 19:38:46@moji_memo mobile.twitter.comはUAの詐称でもソースに残らないんですね.ちょっと見た感じJASONスクリプト http://t.co/j2rKr5N で文字の処理を行っているようで,素人目には最初の方で4byteずつ切ってるように見えますよ?
2011-08-05 22:00:47@muota_here JavaScriptはわからないんですけど、それでも、もう見るからにこれだなwwってかんじですね!
2011-08-05 22:31:26@moji_memo それで根本的には, @twedasuke などに文字化け改善を要求してはいかがでしょうか^^ スクリプトだけの問題なのだと思うので.
2011-08-05 22:06:13前後の文脈がまったく理解できないまま、印象だけで無責任に推測すると、UTF-8でもサロゲートペアがバラで符号化されているようなつもりで、そこからUnicodeエスケープシーケンスを生成する処理を書いちゃったというかんじかな。
2011-08-06 01:42:33@monokano @happyscript まさにこれです。ww これの逆方向ですね。@muota_here
2011-08-06 02:19:02さんざん悩んでいた問題の本質が一気に明らかに! @muota_here さん @monokano さん @happyscript さん、ありがとうございます!
2011-08-06 02:38:02@moji_memo @muota_here @monokano 知らないうちに話題にからんでいたらしい。なんか多少はお役にたてたようで喜ばしい限りでございます〜
2011-08-06 08:30:02iPhone/iPadのSafariで化ける1面/2面の字。U+1F430:🐰,U+20B9F:𠮟,U+20BB7:𠮷,U+226F3: 𢛳
2011-08-08 13:26:08