ホームページ >運用・保守 >Linuxの運用と保守 >oracle linuxで文字化けが発生した場合の対処方法

oracle linuxで文字化けが発生した場合の対処方法

藏色散人
藏色散人オリジナル
2020-02-04 09:58:432056ブラウズ

oracle linuxで文字化けが発生した場合の対処方法

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

文字化け問題の根本原因は文字セットの変更です

1. Linux のデフォルト言語を確認します

# 推奨: 「

Linux チュートリアル #」

oracle linuxで文字化けが発生した場合の対処方法

2. クライアントの言語エンコード設定を確認します

設定ファイルの設定: 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. 変更後、データベース内の元のデータにエラーが発生する可能性があり、テーブルには削除され、データが再インポートされます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。