程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> PL/SQL設置編碼方式,plsql設置編碼

PL/SQL設置編碼方式,plsql設置編碼

編輯:Oracle教程

PL/SQL設置編碼方式,plsql設置編碼


 

 (2012-10-30 21:38:33) 轉載▼ 標簽: 

雜談

  分類: ORACLE

導出sql文件出現亂碼問題,百度之後,發現問題是由於PL/SQL客戶端和ORACLE的字符編碼設置不一致引起的。(之前在登錄PLSQL/Developer的時候有過提示,但是沒在意),網上資料如下:

登錄PLSQL/Developer是提示 客戶端和服務端的字符編碼設置不一致導致的。
上網 得知oralce字符編碼設置和查詢的一些方法,記錄如下:

1. NLS_LANG 參數組成
NLS_LANG參數由以下部分組成:
NLS_LANG=_.

NLS_LANG各部分含義如下:
LANGUAGE指定:-Oracle消息使用的語言;-日期中月份和日顯示
TERRITORY指定-貨幣和數字格式;-地區和計算星期及日期的習慣
CHARACTERSET:-控制客戶端應用程序使用的字符集,通常設置或者等於客戶端(如Windows)代碼頁,或者對於unicode應用設置為UTF8

 

select * from v$nls_parameters;  

 

LANG=zh_CN.GBK 

NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 

這裡window下也可以通過界面修改 我的電腦-》屬性-》高級-》環境變量-》NLS_LANG 直接修改重啟pl/sql即可

 

   

 

iso8859的 AMERICAN_AMERICA.WE8ISO8859P1

gbk的       SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

 

本人的解決方式是:打開運行器進入注冊表編輯 
運行-->regedit (注冊表)
-->HKEY_LOCAL_MACHINE\  SOFTWARE\ ORACLE\KEY_OraDb11g_home1 的變量NLS_LANG的值 
SIMPLIFIED CHINESE_CHINA.ZHS16GBK  
改變成以下的值 
SIMPLIFIED CHINESE_CHINA.AL32UTF8(服務端編碼 ---ORACLE的編碼方式)

然後重新啟動 pl/sql developer

select userenv('language') from dual; --查詢ORACLE的編碼方式

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved