Linux Oracle データが文字化けした場合の対処方法

藏色散人
リリース: 2021-11-24 11:11:15
オリジナル
3989 人が閲覧しました

Linux oracle データが文字化けする場合の解決策: 1. Linux のデフォルト言語を確認します; 2. クライアントの言語エンコード設定を確認します; 3. Linux oracle データベースのデフォルト言語を UTF8 に変更します。

Linux Oracle データが文字化けした場合の対処方法

この記事の動作環境: linux5.9.8 システム、Oracle Database 20c、Dell G3 コンピューター。

Linux oracle データが文字化けした場合の対処方法

#Linux oracle 中国語文字化け問題の解決策

根本原因文字化けの問題の原因は文字化けです 修正の設定

1. linux のデフォルト言語を確認してください

Linux Oracle データが文字化けした場合の対処方法

2. クライアントの言語エンコーディングを確認してくださいsettings

設定ファイルの設定: cat ~/.bash_profile

設定情報の変更に注意してください:

export PATH
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ログイン後にコピー

設定後、設定が成功したかどうかを確認します (SQL)ステートメント: select userenv(' language') from Dual

3. データベースで使用されているエンコーディングを確認します: Linux oracle データベースのデフォルト言語を変更します

linux Oracle をインストールするためのデフォルト言語は次のとおりです。 :

AMERICAN_AMERICA.WE8MSWIN1252
ログイン後にコピー

この言語の中国語表示ビットは文字化けします。

oracle 経由で Linux システムにログイン後、以下の操作を実行します。

変更方法 (UTF8 への変更を例にします)

システムで sqlplus にログインします。 DBA 権限

$ sqlplus / as sysdba;
select userenv('language') from dual;
ログイン後にコピー

例: AMERICAN_AMERICA.WE8MSWIN1252

変更:

SQL> shutdown immediate;
SQL> startup mount;
SQL> alter system enable restricted session;
SQL> alter system set job_queue_processes=0;
SQL> alter database open;
SQL> alter database character set internal_use AL32UTF8;  或者  ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
SQL> shutdown immediate;
SQL> startup
SQL>alter system disable restricted session;
ログイン後にコピー

4. 変更後、データベース内の元のデータにエラーが発生する可能性があり、テーブルには削除され、データが再インポートされます。 。 。 。 。 。 。 。

推奨学習: 「Linux ビデオ チュートリアル

以上がLinux Oracle データが文字化けした場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート