PLSQL中文顯示亂碼,真正有效的解決方案(無需修改註冊表 )

PLSQL中文顯示亂碼,可能是oracle客戶端和服務器端的編碼方式不一樣。網上有很多帖子介紹解決方法,但都說得不清不楚的,這裏我將自己經過實踐和理解的真正的解決方案分享給大家。


在這裏,我們使用的是服務器上的Oracle,不是本機的Oracle,按照以下兩個步驟進行:首先要查詢ORACLE服務器的語言、地域和字符集,然後將查詢結果設置爲本地的環境變量:NLS_LANG。具體如下:
1. 查詢ORACLE服務器的語言、地域和字符集

select * from nls_database_parameters;

查詢結果如下圖,
下圖NLS_LANGUAGE 表示“語言”,NLS_TERRITORY  表示“地域”,NLS_CHARACTSET 表示“字符集”,將他們三個按照“語言_地域.字符集”的格式拼接起來,就有了“AMERICAN_AMERICA.ZHS16GBK”(注意:這裏要根據你自己的ORACLE服務器的這三個值進行拼接哦~不要簡單的複製粘貼)


2.設置本地環境變量:NLS_LANG,
進入 我的電腦,屬性,高級,環境變量,添加1項:
  NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
(注意:這裏要根據你的ORACLE服務器的這三個值進行拼接哦~不要複製粘貼)


OK,重新打開PLSQL dev  ,中文顯示正常拉~~


還有一點需要注意的是:網上很多方案說要修改本地註冊表中的“HKEY_LOCAL_MACHINE->SOFTWARE->ORACLE->KEY_OraClient11g_home1”項,其實這是不對的,這已註冊表項是本地ORACLE的字符集,跟你要訪問的服務器ORACLE沒有關係的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章