詳細はググるといいと思うよ。
結論から言うと、UTF-8でHTML書いて、テストしたい文字は数値文字参照にしてIEで表示してコピペするのが確実だよ、と。正直よくわかんないんだよね。
WindowsXPにMicrosoftUpdateでJIS2004対応のフォントをインストールすれば、JIS X 0213:2004の文字は見えるようになる。環境汚したくないならY.Ozフォントとか。
とりあえずWindowsXPでの症状だけ書くけど、メモ帳でコピペは問題ない。ANSIコードで保存しようとすると「情報が失なわれます」と怒られて、保存すると実際に?に置換される。サロゲートペアな文字は??に置換されるようす。そもそも、ステータスバーにカーソル位置が出るけどその位置もサロゲートペアな文字が含まれてると2文字扱いになるみたい(vistaでも)。不思議。たぶんAPIのせいだと思う。IEの入力フィールドでも2文字とカウントされるようで、maxlengthまで入力できない(vistaでも)。バグだよねこれ。Excelでは問題ないな。IEも。コマンドプロンプトに貼り付けするとサロゲートペアの文字がトーフになっちゃう。素のサクラエディタでもペーストすると変なことになる。Unicode版サクラエディタでもまだ変かなあ。ペーストするとサロゲートペア文字が変だし。まあ開発版だけど。Meadowはどうもよくない。Gvimはコピペもダメだし、ファイル開いた時に?に置換するし。不便。ChangeLogによると秀丸は7からはいけてるらしい。しかしMicrosoftIME2003時代の辞書にはJIS2004の単語が入ってないので、結論としては色々やるにも数値文字参照が楽じゃないの、という。
まあ、きっとUnicodeで扱われてる範囲では問題ないんだよね。ローカルのコードページのAPIが使われたりとか、独自に処理してるとこが怪しい。もしや、.Netでアプリ作りましょう、ということか。
あれ、なんかVistaのメモ帳でANSIで保存すると?に置換されるな。JIS2004対応じゃないじゃん。そういうもんか?
つまり,String.Lengthプロパティからは,文字数が得られるのではなく,UTF16エンコーディング時のワード数が得られる
そうな。
IEの動作なのだが、ページ中で文字コードが指定されていないと、鷗がそのまま送られるんと違うかな。といってもデフォルトコードページがCP932なので、0xefe3?EUC-JPとかShift_JISが指定されてると、Unicodeの数値文字参照で送信されるみたい。Firefoxは問答無用で数値文字参照になるようだが。受けとるほうはまあポリシー次第だけど。知らないうちに数値文字参照で入力されることもある、というのは押さえておいたほうがいいのかな。
しかし、もう、UTF-8でいんじゃね的な…。もう諦めますた。
詳細な調査の結果を発見した。はっきり簡体字で送信すると書いてるのもありますね。あとIE7で画面が真っ白になるページの対処法。
HTTPヘッダとかmeta要素で文字コードを指定しないで表示したフォームで、ハングルを入力して送信すると、ちゃんとハングルのコードで送信するようだ。すごい(?)
ㅊ鷗でも鷗ㅊでもハングルと認識するらしい。なぜ?
<< arton [rjbの修正、ありがとう。gemを更新させてもらいました。]
<< kuwa1 [リリース作業、おつかれさまです。]