Windows Vista対応 - Vista文字化け(JISX0213*1)対応

Windows VistaのJIS2004対応により、Windowsで使用できる日本語漢字数が増加した。
この追加された907字の中には「サロゲートペア」という特殊な文字が304字ある。

通常、Unicodeでは1文字あたり2バイトのデータ量を使うが、このサロゲートペアは1文字で4バイトのデータ量を必要とする。
その為、JISX0218対応済みのOSや、他システムとの連携を行うシステムでは、サロゲートペア対応が必要な場合がある。
※ちなみにサロゲートペアは4バイトだが「8文字(16進数)」でなく「5文字(16進数)」で表現する。(0x2000Bなど)

サロゲートペアへの対応方法
 (1)サロゲートペア文字を受け付けない(入力文字制限などを設ける)
   ・送受信データの文字コード
    └ JISX0213を正しくエンコードできるUNICODE系(UTF-8、UTF-16)を使用

   ・JavaScript
    └ 正規表現によるチェック(file実装例

   ・WEBアプリ
    └ 正規表現によるチェック(file実装例

   ・DB
    └ 変更なし

 (2)サロゲートペア文字を受け入れる
   ・JavaScript
    └ JISX0213非対応のクライアントへの配慮(表示処理)

   ・WEBアプリ
    └ JISX0213非対応のクライアントへの配慮(表示処理)

   ・DB
    └ JISX0218に対応した文字コードへ変更(UTF-8、UTF-16)


*1 Windows Vistaで採用されている文字セットの規格

添付ファイル: filechk_surrogate_js.html 5262件 [詳細] filechk_surrogate_java.html 5137件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-11 (木) 00:48:47 (3476d)