DB
-
キャラクタ・セットとは?
Oracleデータベースで利用する文字セットおよびエンコーディング方式を定義したもの
–データベース側およびクライアント側で設定できる
主要な文字コードに対応したキャラクタ・セットが用意されている
Oracleキャラクタ・セット名は、次のネーミング規則で表される
–[地域][1文字あたりのビット数][標準文字コード名] -
データベース・キャラクタ・セット
- CHAR、VARCHAR、VARCHAR2で格納する際に利用される文字コード
- 指定する文字コードによって1文字辺りのバイト数に変動が生じる
-
各国語キャラクタ・セット
- NCHAR、NVARCHARで格納する際に利用される文字コード
-
UTF8
又はAL16UTF16
しか選択できない - AL16UTF16がデフォルト、かつ推奨されているとのこと。
- 違いはバイト数で格納するか(UTF8)、文字数で格納するか(AL16UTF16)。
-
https://docs.oracle.com/cd/E16338_01/server.112/b56307/ch6unicode.htm
- 多言語データに使用する列の長さの指定
-
確認方法
-- データベース・キャラクタ・セット NLS_CHARACTERSET -- 各国語キャラクタ・セット NLS_NCHAR_CHARACTERSET SELECT PARAMETER, VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');
クライアント
- クライアント・キャラクタ・セット
- NLS_LANG環境変数を使用して、クライアント・プログラムによって入力または表示されるデータの言語と地域、およびキャラクタ・セットを設定