在rhel5上oracle10.2.0.4用sql指令碼生成儲存過程註解亂碼處理_character set_字符集

wisdomone1發表於2010-06-23
1,export NLS_LANG='SIMPLIFIED CHINESE_CHINA.utf8'
     (以上為了安全,建議寫進.bash_profile中)
2,NLS_LANG變數分為三部分:
  NLS_LANG各部分含義如下:
LANGUAGE指定:
-Oracle訊息使用的語言
-日期中月份和日顯示
TERRITORY指定
-貨幣和數字格式
-地區和計算星期及日期的習慣
CHARACTERSET:
-控制客戶端應用程式使用的字符集
通常設定或者等於客戶端(如Windows)內碼表
或者對於unicode應用設定為UTF8
我對以上的理解:
   'SIMPLIFIED CHINESE對應第一部分,表示oracle訊息所使用的語言,其實就是以什麼語言顯示訊息及日期中月份及日的顯示(因為每個國家的日期顯示格式不同),我通俗理解為簡體中文(不是中國:因為一箇中國(國家)有多種語言顯式風格,比如中國還有臺灣地區的繁體)
 
 
 
  CHINA對應第二部分,數字格式及貨幣,涉及到地區性(這個我目前理解不深),先理解為不同的國家,比如我這裡是中國,而不是日本,呵呵
 
 
  utf8對應第三部分,表示客戶端應用程式使用的字符集,這個很重要,一定要配置成和oracle資料庫伺服器一樣的字符集,或者兩相容的字符集,具體可以v$nls_valid_values及v$nls_parameters檢視
 
 
 
 
#發現NLS_LANG變數三部分的值之間有包容關係,有些值是彼此排斥的
-bash-3.2$ export NLS_LANG='american_america.ZHS16GBKFIXED'
-bash-3.2$ rlwrap sqlplus
Error 19 initializing SQL*Plus
Invalid NLS character set for this OS environment
-bash-3.2$
 
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-665997/,如需轉載,請註明出處,否則將追究法律責任。

相關文章