2007年5月24日アーカイブ

追試プログラムを書いて実験したところ、以下のことがわかりました。
  • SO903i で、「から」を変換して入力される「~」はJavaの内部では\uff5e。
  • SO903i で、記号から選択して入力される「~」はJavaの内部では\u301c。
  • SO903i上では、上の二つの文字はまったく同じグリフで表示される。
  • SO903iのJavaでデフォルトエンコーディングでgetBytes()した場合、\uff5e は 3f(?)に、\u301cは8160(~)に変換される。
  • WindowsのDoJaエミュレータでは、\u301cは~で表示されるが、\uff5eは?になる。getBytes()の結果はSO903iと同じ。
と、言うわけで、iアプリ側の対応としては、サーバに送信する前に、\uff5eを\u301cに変換してあげれば良さそうです。
ただし、この8160をphpのmb_convert_encodingでsjis→UTF8の変換をしてtwitter.comに送ると、帰ってきたときには 上がって下がる「~」ではなく下がって上がる「〜」になります。なので、サーバ側はsjisではなくsjis-winを指定してやれば良さそうです。
ちなみに、サーバから送られてくる文字列に関しては、SO903iの場合は\uff5eでも\u301cでもどちらでも同じ文字として表示されるため、sjisに変換しない限りはそのまま扱って問題なさそうです。

参考
2007年5月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

このアーカイブについて

このページには、2007年5月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2007年5月19日です。

次のアーカイブは2007年5月27日です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.1.1