[[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