linux oracle資料亂碼的解決方法:1、查看linux的預設語言;2、查看客戶端的語言編碼設定;3、修改linux oracle資料庫的預設語言為UTF8即可。
本文操作環境:linux5.9.8系統、Oracle Database 20c、Dell G3電腦。
linux oracle資料亂碼怎麼辦?
Linux oracle中文亂碼的問題解決
亂碼問題的根源是字符集的修改
1.查看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為例)
以系統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中文網其他相關文章!