首頁  >  文章  >  運維  >  linux oracle資料亂碼怎麼辦

linux oracle資料亂碼怎麼辦

藏色散人
藏色散人原創
2021-11-24 11:11:153966瀏覽

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.查看客戶端的語言編碼設定

  設定檔中的設定: 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為例)

以系統DBA權限登入sqlplus

$ 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn