Oracle でキャラクタ セットを変更する方法: 1. データベース データをエクスポートし、データベースを再作成し、キャラクタ セットを設定し、データベースをインポートしてキャラクタ セットを変更します。 2. 「ALTER DATABASE CHARACTER」を使用します。 SET" ステートメントを使用して、新しいキャラクタ セットのみを変更します。 データベース キャラクタ セットは、キャラクタ セットが現在のキャラクタ セットのスーパーセットである場合にのみ変更できます。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
Oracle キャラクタ セットとは
Oracle キャラクタ セットは、バイトを解釈するための記号の集合です。異なるサイズのデータには相互許容関係があります。 ORACLE の各国語サポート アーキテクチャにより、ローカライズされた言語を使用してデータを保存、処理、取得できます。データベース ツール、エラー メッセージ、並べ替え順序、日付、時刻、通貨、数値、カレンダーをローカライズされた言語とプラットフォームに自動的に適応させます。
Oracle データベースのキャラクタ セットに影響を与える最も重要なパラメータは、NLS_LANG パラメータです。
その形式は次のとおりです: NLS_LANG = language_territory.charset
これには 3 つのコンポーネント (言語、地域、文字セット) があり、各コンポーネントが NLS サブセットの特性を制御します。
その中に:
言語: サーバー メッセージの言語を指定します。これは、プロンプト メッセージが中国語か英語かに影響します。
Territory: サーバーの日付と数値の形式を指定します。
Charset: 文字セットを指定します。
例: AMERICAN _ AMERICA. ZHS16GBK
NLS_LANG の構成から、データベース キャラクタ セットに実際に影響を与えるのは 3 番目の部分であることがわかります。
したがって、2 つのデータベース間の文字セットが 3 番目の部分で同じである限り、データは相互にインポートおよびエクスポートできます。前述の影響は、プロンプト情報が中国語であるか英語であるかにのみ影響します。
文字セット
本質は、特定の文字コード化スキームに従って、一連の異なる数値コードを特定のシンボルのセットに割り当てることです。 Oracle データベースでサポートされている最も古いエンコード スキームは US7ASCII です。
Oracle のキャラクタ セットの命名規則は、次の命名規則に従います。
つまり、です。ビット数>
例: ZHS16GBK は、GBK エンコード形式、16 ビット (2 バイト) の簡体字中国語文字セットを使用することを意味します
データベース文字セットを変更します
前述したように、データベースのキャラクタセットは原則として作成後に変更することはできません。ただし、利用可能な方法が 2 つあります。
1. 文字セットを変更する必要がある場合は、通常、データベース データをエクスポートし、データベースを再構築してから、変換のためにデータベース データをインポートする必要があります。
2. ALTER DATABASE CHARACTER SET ステートメントを使用してキャラクタ セットを変更しますが、データベース作成後のキャラクタ セットの変更には制限があります。データベース キャラクタ セットは、新しいキャラクタ セットがスーパーセットである場合にのみ変更できます。たとえば、UTF8 は US7ASCII のスーパーセットです。ALTER DATABASE CHARACTER SET UTF8 を使用してデータベース キャラクタ セットを変更できます。
推奨チュートリアル: 「Oracle ビデオ チュートリアル 」
以上がOracleで文字セットを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。