未分類

Oracle文字コード

投稿日:

Oracle文字コードについて

マルチバイト・キャラクタセット

 

VARCHAR2とNVARCHAR2

CHAR(10)

VARCHAR2(10)

10バイト指定。

データベースキャラクタセットで格納される。

VARCHAR2(10 CHAR)

10文字指定。

データベースキャラクタセットで格納される。

NCHAR(10)

NVARCHAR2(10)

10文字指定。

各国語キャラクタセット(事実上、AL16UTF16)で格納される。各国語キャラクタ・セットに使用できるOracleキャラクタ・セットは、AL16UTF16およびUTF8です。各国語キャラクタ・セットをUTF8に指定するのは、推奨されいない。

AL16UTF16の場合、サロゲートペアを2文字とカウントとする。

 

各国語キャラクタ・セット

 

環境変数NLS_LANG

  • LS_LANGとは、多言語環境の動作設定を規定するパラメータ
  • 設定する値自体は、データベースキャラクタセットと同じにするのではなく、クライアント環境がサポートしているキャラクタセットを指定する
  • データベースキャラクタセットとNLS_LANGのキャラクタセットが異なる場合は、Oracleは自動的に文字コードの変換を行います。Unicodeを経由してデータベースキャラクタセットからNLS_LANGのキャラクタセットへの文字コード変換が実行される。

 

Oracle Databaseのキャラクタ・セット「UTF8」

Oracle Databaseのデータベース・キャラクタ・セットで使用するUTF-8エンコーディングとしては、UTF8は候補とせず、最新のUnicodeに追随するAL32UTF8を使っておけば問題無し

 

補助文字(追加文字)とサロゲートペア

Unicodeに含まれる文字は、「U+xxxx」という形式のコードポイントで管理されています。コードポイントの範囲はさらに2つに分類されています。1つは、U+0000~U+FFFFの範囲を指す基本多言語面(BMP:Basic Multilingual Plane)、もう1つは、U+10000~の範囲を指す補助(追加)多言語(SMP:Supplementary Multilingual Plane)です。JIS X 0208のすべての文字は基本多言語面に割り当てられていますが、JIS X 0213で追加された文字は、基本多言語面と補助(追加)多言語面のいずれかに割り当てられています。ここで、補助(追加)多言語面に割り当てられた文字を、補助文字(追加文字)と呼びます。

 

 

 

スポンサーリンク

スポンサーリンク

-未分類

執筆者:

関連記事

Xamarin.Formsについて

レイアウトの設定について VerticalOptions / HorizontalOptions プロパティ Xamarin.Forms.Viewクラスの LayoutOptions構造体型 プロパテ ...

C++のTIPS

・それ、ポインタ使わなくてもできるよ:C言語のポインタとC++の流儀 ・【C言語/C++】 配列は戻り値にできない【配列を適切に返す方法】    

C++のvector

vector push_backで登録する変数はヒープ領域に確保される。vector変数の解放で、登録された変数もヒープ領域から解放される。 vectorは、デストラクタが呼び出されると、メモリの解放 ...

RaspberryPiの備忘録

GPIO コマンド 説明 gpio readall GPIOの各ポートの状態を表示 gpio -g mode 14 out gpio -g write 14 0 ピンを出力(out)に設定して、0レベ ...

Ubuntuの起動時のエラー対応

エラー確認 コマンド 説明  dmesg  システム起動時のメッセージ確認  cat /var/log/messages   ログファイルの確認  cat /var/log/boot.log  ログフ ...


プロフィール
管理人です。 業務プログラムに勤しむ人です プロフィール詳細


検索

カテゴリ

アーカイブ