1. 程式人生 > >oracle 匯入資料顯示為問號和亂碼的處理辦法

oracle 匯入資料顯示為問號和亂碼的處理辦法

        剛剛碰到一個問題,對方的伺服器環境為linux,按照一般的sqlldr匯入資料,通過plsql查詢時發現為問號和亂碼。

        通過資料庫的SELECT * FROM V$NLS_PARAMETERS,查出資料庫的字元編碼NLS_CHARACTERSET為AMERICAN_AMERICA.ZHS16GBK,但是NLS_NCHAR_CHARACTERSET為AL16UTF16。

       於是,在伺服器上修改oracle和root使用者的.bash_profile和profile,新增字元編碼設定export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;

       在cmd中輸入regedit,找到本機的oracle  NLS_CHARACTERSET,我的地址為HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG,將其改為AMERICAN_AMERICA.ZHS16GBK。

        將匯入的資料檔案csv通過工具,我的是UltraEdit,另存為ANSI,在控制檔案ctl 中加入語言控制程式碼 CHARACTERSET  ZHS16GBK。

       接下來匯入資料,應該就是可以的了。(記得改完後plsql要重新開啟過)