Amazon

2011年9月16日金曜日

ケータイ、Androidの文字コードの袋小路


mixiモバイル、touch、PC版アプリを同時に作ろうとしていて文字コードの袋小路にハマる。
たぶんこれはmixiモバイルに限らないのでメモしておこう。

モバイル系は
au, docomo, softbankはShift-JISに対応。但し、
CSSを使う場合はiモード対応XHTMLにする必要がある。
XML宣言とi-mode用のDOCTYPE宣言が必要。

docomo, softbankはutf-8でも問題ないが
auはau browser6.2はutf-8に対応していない。7.2は対応している。
3G端末に限って言うと、UTF-8が使える条件は次のようになっている。
参照元はこちら
機種 XHTML HTML XHTML
(SSL)
HTML
(SSL)
docomo 3G
au ブラウザver7.2
au ブラウザver6.2 × × ×
SoftBank 3G
○:文字化けしない △:一部の条件下で文字化け ×:文字化けする

次にtouch版
iPhoneの場合、Shift-JISでもUTF-8でも問題ない。
Androidの場合、2.1においてはShift-JISだと問題がある。

参照元はこちら
文字エンコーディング Content-Typeヘッダ xml宣言の有無 結果
Shift_JIS text/html
application/xhtml+xml ×
UTF-8 text/html
application/xhtml+xml
EUC-JP text/html
application/xhtml+xml ×

つまりShift-JISだとAndroid  2.1で非対応となり、UTF-8だとau携帯が非対応(文字化け)となってしまう。
Shift-JISにして、Android 2.1の時だけContent-Typeヘッダーをtext/htmlに変換するのが一番手がかからないかなぁ。。。

0 件のコメント:

コメントを投稿

Amazon3