7.1.12 データベースからデータを入力する場合に使用できる文字
データベースからデータを入力する場合に使用できる文字についての注意を次に示します。
-
HiRDBおよびOracleは,Shift JISとUTF-8に対応しています。SQL ServerはShift JISに対応しています。
- Shift JISデータベースの場合
-
データベースに格納されているデータは,Shift JISコードで取り出してください。Shift JISコードの文字とは,次のような文字です。
・1バイト文字で0x20〜0x7E,または0xA1〜0xDF
・2バイト文字で1バイト目が,0x81〜0x9F,または0xE0〜0xFC
・2バイト文字で2バイト目が,0x40〜0x7E,または0x80〜0xFC
例えば,CHAR属性の列に0x00が入っている場合は,0x00以降のデータは取り出されません。データを取り出す対象となる列に0x00から始まるデータが格納されている場合は,NULL値となります。
データを取り出す対象となる列にバイナリデータが格納されている場合は,文字列として取り出されます。
- Unicodeデータベースの場合
-
データベースに格納されているデータは,UTF-8で取り出してください。UTF-8は,次のような文字です。
UTF-8
文字の種類
1バイト目
2バイト目
3バイト目
00-7F
−
−
制御コード
ASCII文字
C0-DF
80-BF
−
UCS-2マルチバイト文字(0x0080-0x07FF)
E0-EF
80-BF
80-BF
UCS-2マルチバイト文字(0x0800-0xFFFF)
サポート文字は,ASCII文字(X'20'〜X'7E'),UCS-2マルチバイト文字(0x0080-0x07FF,0x0800-0xFFFF)の範囲です。サロゲートペアにも対応します。
サポートしていない文字が指定されていた場合,データベースに格納されているデータと異なる文字で出力されることがあります。
-
0バイト定数とNULL値を区別しないでください。0バイト定数とNULL値はどちらもNULL値として扱われ,区別されません。
-
Shift JISデータベースの場合,データはShift JISコードでデータベースに格納してください。
-
表名や列名に引用符(")が含まれている場合は,正しく動作しません。
-
上記以外の文字コードを含むデータを抽出した場合の動作は保証しません。