1. 程式人生 > 其它 >PLSQL中文顯示亂碼,真正有效的解決方案(無需修改登錄檔 )

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  ,中文顯示正常拉~~