iPhoneのSafariの文字化けがtwitterのバグだった件

iPhoneのSafariでtwitterを見ると、Unicodeの追加面(BMP外)の文字が化ける現象について。最初はSafariを疑っていましたが、問題はtwitter側にありました。リスト中に「iPadのSafariでは化けない」という情報がありますが、8月8日現在(iPad版新twitter)ではiPadのSafariでも化けます。
Apple SAFARI Twitter iPad iPhone 文字化け Unicode
1
おまえは何を言っているんだ @moji_memo
消えないのもてすと。🐍🐎🐑🐒🐔🐗🐘🐙🐚🐛🐟🐠🐤🐦🐧🐨🐫🐬🐭🐮🐯 🐰🐱🐳🐴🐵🐶🐷🐸🐹🐺🐻
おまえは何を言っているんだ @moji_memo
@moji_memo あれ? どうしてiPhoneのSafariで愉快な動物たちが豆腐になってるんだろ。
おまえは何を言っているんだ @moji_memo
test_0802_01 U+26BD:⚽, U+FA19:神, U+20B9F:𠮟, U+20BB7:𠮷, U+2F884:巽, U+1F430:🐰, U+0031 U+20E3:1⃣,
おまえは何を言っているんだ @moji_memo
iPhoneのSafariは、JavaScriptのUnicodeエスケープシーケンスにおけるサロゲートペアの解釈に失敗している、ということのようだ。Unicodeスカラ値の5桁目を落としちゃってる。
おまえは何を言っているんだ @moji_memo
わかってみれば、小形さんの実験中に同じのがあったな。そういうアプリがあるというのは覚えてたけど、Safariだとは思わなかった。
おまえは何を言っているんだ @moji_memo
@moji_memo いや、mobile.twitter.comだと、UnicodeエスケープシーケンスじゃなくUTF-8かな。もうちょっと調べよう。
おまえは何を言っているんだ @moji_memo
iPhoneのSafariでtwitterを見るとBMP以外の文字が化ける現象。iPhoneのSafariがUnicodeエスケープシーケンスにおけるサロゲートペアを正しく解釈して表示することを確認。ソース(twitter)のほうに問題がある可能性も捨てられない。
おまえは何を言っているんだ @moji_memo
test_0805 U+1F430:🐰, U+20B9F:𠮟, U+20BB7:𠮷, U+2F884:巽
おまえは何を言っているんだ @moji_memo
iPhoneのSafariでtwitterを表示したとき、1面/2面の文字は、白い画面( http://t.co/n6VVPlS )では化け、雲の画面( http://t.co/bVrQyTE )では化けない。
おまえは何を言っているんだ @moji_memo
@moji_memo どなたか白い画面(iPhoneのSafariに最適化された表示?)のソースのありかをご存じでしたら教えてください!
魚田雅彦 @muota_here
@moji_memo スノレパですがMacのSafariで開発メニューを有効にしユーザーエージェント(UA)をiPhoneにすると http://t.co/xR5iBHC に行けてスクショと同じ化け方.おまけでUAをiPadにすると1F430だけトーフで他は化けず
魚田雅彦 @muota_here
@moji_memo あ,ソースのありか,の解釈間違ってたらすいません
おまえは何を言っているんだ @moji_memo
@muota_here ありがとうございます! これで前に進めそうです! 勉強になります!
魚田雅彦 @muota_here
@moji_memo あーUA変更は必ずデフォルト(Mac)で表示してからにして下さい.Mac>iPhone>iPadと連続変更するとページ書き直しの無限ループに入りましたw あと,(予想通り)LionのSafariだとUAがiPadで,正しくウサギ出ました
おまえは何を言っているんだ @moji_memo
.@muota_here どのプロセスに問題があるのかまでは追い切れませんでしたけど、化けるのは、Safariではなくtwitterの問題っぽいですね。ありがとうございました!
魚田雅彦 @muota_here
@moji_memo mobile.twitter.comはUAの詐称でもソースに残らないんですね.ちょっと見た感じJASONスクリプト http://t.co/j2rKr5N で文字の処理を行っているようで,素人目には最初の方で4byteずつ切ってるように見えますよ?
おまえは何を言っているんだ @moji_memo
@muota_here JavaScriptはわからないんですけど、それでも、もう見るからにこれだなwwってかんじですね!
魚田雅彦 @muota_here
@moji_memo それで根本的には, @twedasuke などに文字化け改善を要求してはいかがでしょうか^^ スクリプトだけの問題なのだと思うので.
おまえは何を言っているんだ @moji_memo
@muota_here そうですね。いろいろありがとうございます!
おまえは何を言っているんだ @moji_memo
前後の文脈がまったく理解できないまま、印象だけで無責任に推測すると、UTF-8でもサロゲートペアがバラで符号化されているようなつもりで、そこからUnicodeエスケープシーケンスを生成する処理を書いちゃったというかんじかな。
おまえは何を言っているんだ @moji_memo
さんざん悩んでいた問題の本質が一気に明らかに! @muota_here さん @monokano さん @happyscript さん、ありがとうございます!
ひらくん @happyscript
@moji_memo @muota_here @monokano 知らないうちに話題にからんでいたらしい。なんか多少はお役にたてたようで喜ばしい限りでございます〜
おまえは何を言っているんだ @moji_memo
iPhone/iPadのSafariで化ける1面/2面の字。U+1F430:🐰,U+20B9F:𠮟,U+20BB7:𠮷,U+226F3: 𢛳
残りを読む(1)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする