Linux oracle中文亂碼的問題解決
亂碼問題的根源是字元集的修改
#1.查看linux的預設語言
推薦:《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.修改後資料庫中原有的資料可能會出現錯誤,需要重新刪除表以重新匯入資料。
以上是oracle linux亂碼怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!