[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]

* 目次 [#o0abeb28]
#contents

*概要 [#idd68f6e]
JIS2004(JIS X 0213:2004)

JIS2004はJIS X 0208:1997(いわゆるJIS97)を拡張し、~
JIS第三水準文字・JIS第四水準文字を含む4344文字を追加した文字コード。

**サロゲート ペア文字、結合文字 [#a6b7fa89]
追加されたJIS2004拡張文字のセット、
907文字のうち304文字がサロゲート ペア文字である。

UTF-8、UTF-16で表現可能な
-サロゲート ペア文字は4バイト
-結合文字は4バイト以上

で表現される。

APIやDBMSの使い方によって、
-1文字として扱えるか
-2バイト毎にバラバラに扱うか

動作が変わる。

以下に一例を示す。

-.NET FrameworkのAPI
--System.Globalization.StringInfoは、1文字と認識する。
--System.Stringは、1文字と認識しない。

-SQL Serverの照合順序
--Japanese_90,Japanese_100は、1文字と認識する。
--Japaneseは、1文字と認識しない。

-Oracleの部分検索
--LIKECは、1文字と認識する。
--LIKEは、1文字と認識しない。

 ※サロゲート ペア文字のことを、サロゲートコード、補助文字とも呼ぶ。
 ※結合文字のことを、結合済み文字、合成文字、合成済み文字とも呼ぶ。
 ※Shift-JIS、EUC-JP、Big5などではサロゲート ペア文字、結合文字を表現できない

**参考 [#df54d477]
-StringInfo クラス (System.Globalization)~
http://msdn.microsoft.com/ja-jp/library/system.globalization.stringinfo.aspx
-SQL Server における JIS2004 対応について寄せられる質問と回答~
http://support.microsoft.com/kb/931785/ja
-LIKE、IN、BETWEEN AND、IS NULL - オラクル・Oracle PL/SQL 入門~
http://www.shift-the-oracle.com/plsql/like-in-between-isnull.html

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS