目次 | 前項目 次項目 |
データタイプを、CHAR、VARCHAR、またはサブタイプが1(テキスト)の BLOB として定義するフィールドには、オプションとしてキャラクタセットを指定する ことができます。
Linux上のデータベースを、異なる日本語コード系を持つシステム(UNIX、Windows など)で同時に使う場合があります。このような利用形態で、文字列フィールド へのデータ挿入、取り出しを行う際に、自動的に適切な文字コード(EUC またはシフトJISコード)に変換する機能をInterBaseは提供しています。
この機能を使う時には、文字列フィールドにキャラクタセットを指定して おかなければなりません。
文字列フィールドには、指定されたキャラクタセットで文字列が格納されます。 この文字列をあるアプリケーションが取り出す際には、そのアプリケーションが データベースに接続する時に指定したキャラクタセットに変換されます。また、 文字列を挿入する際には、その逆の変換が行われます。
日本語を扱うシステムに関係のある指定可能なキャラクタセットには、 以下のものがあります。
キャラクタセット | 最大文字サイズ | 説明 |
---|---|---|
ASCII | 1バイト | ASCIIコードの文字列を格納することができます。 |
EUCJ_0208 | 2バイト | EUCの文字列を格納することができます。 |
SJIS_0208 | 2バイト | シフトJISコードの文字列を格納することができます。 |
UNICODE_FSS | 3バイト | ユニコードの文字列を格納することができます。 |
キャラクタセットを指定した文字列フィールドを定義する場合には、以下の ように定義文を記述します。(EUCを指定する場合の例です。)この例の「prefecture」、「sight_name」には、それぞれ20バイト、40バイトの 文字列を格納することができます。CHAR(n)、VARCHAR(n)は、キャラクタセットを 指定する場合、そのキャラクタセットの文字をn文字格納できることを表します。CREATE TABLE sights ( prefecture CHAR(10) CHARACTER SET EUCJ_0208, sight_name VARCHAR(20) CHARACTER SET EUCJ_0208, guide BLOB SUB_TYPE 1 CHARACTER SET EUCJ_0208 ) ;
何も指定しないで、CHAR、VARCHAR、サブタイプ1のBLOBを定義した場合は、 キャラクタセットはNONEに設定されます。これは、キャラクタセットが 定義されていない状態を表します。
目次 | 前項目 次項目 |
InterBase for Linux & FreeBSD | Copyright(c) 1998 RIOS Corporation |