oracle亂碼問題一般是由於oracle字符集設置和操作系統字符集設置不一致造成的,這裡不得不提到兩個操作系統環境變量,LANG和NLS_LANG
LANG是針對Linux系統的語言、地區、字符集的設置,對linux下的應用程序有效,如date
NLS_LANG是針對Oracle語言、地區、字符集的設置,對oracle中的工具有效
很顯然,需要修改NLS_LANG環境變量
查看oracle字符集方式如下:
1.進入sqlplus
命令:sqlplus /nolog
2.以系統管理員身份連接數據庫
命令:conn /as sysdba
3.輸入查詢語句
命令:select * from V$NLS_PARAMETERS where parameter = 'NLS_CHARACTERSET';
查詢結果如下圖:
系統編碼不一樣導致的
因此可以通過設置NLS_LANGLANG變量值來解決
命令:export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"