錯誤原因:
異機恢復oracle數據庫DMP備份文件時(由機器A將數據備出,恢復至機器B內),出現中文顯示亂碼,搜索結果中,中文顯示爲問號“???”,一般中文顯示問題原因在於前後字符集不一致導致。中文正常顯示時,字符集爲ZHS16GBK。
解決方案:
1、檢查Oracle數據庫中字符集是否正確。
SQL語句:select * from v$NLS_PARAMETERS
查詢結果中:NLS_LANGUAGE項數值應爲:SIMPLIFIED CHINESE
SQL語句:select userenv('language') from dual;
查詢結果應顯示爲:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
2、檢查環境變量
計算機->屬性->高級系統設置->環境變量
新建系統變量:變量名:NLS_LANG,變量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3、重新連接PL/SQL
將已連接的PL/SQL退出登錄,重新登錄PL/SQL即可正常顯示中文。