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變量值
指令:echo $NLS_LANGLANG
亂碼正是由于這oracle和作業系統編碼不一樣導緻的
是以可以通過設定NLS_LANGLANG變量值來解決
指令:export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"