【NLS_LANG】將Windows環境的SQL Plus提示資訊修改為“英文”之詳細闡述

secooler發表於2009-10-16
如果您習慣了Oracle英文的提示資訊,就會發現當Windows作業系統的SQL*Plus介面出現漢字內容的時候有一種不順暢的感覺。
如何將SQL*Plus提示資訊從漢語修改為英語呢?

其實很簡單,這個修改方法與NLS_LANG環境變數有關。下面我來從現象到原因,然後到如何修改做一個演示。

1.現象:SQL*Plus介面中文提示資訊。透過下面的演示,我們可以看到多處出現漢字的提示資訊
C:\>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on 星期五 10月 16 09:27:52 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

sys@secooler> set feedback 1
sys@secooler> select sysdate from dual;

SYSDATE
--------------
16-10月-09

已選擇 1 行。

2.現象原因
NLS_LANG是一個為客戶定義語言、區域和字符集的客戶端環境變數,它是由三部分組成的,第一部分表示語言,第二部分表示區域,最後表示字符集。

因此:
當NLS_LANG變數被設定為“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”的時候,NLS_LANG第一部分表示語言為“SIMPLIFIED CHINESE”,所以SQL*Plus提示資訊就是漢語;
當NLS_LANG變數被設定為“AMERICAN_AMERICA.ZHS16GBK”的時候,NLS_LANG第一部分表示語言為“AMERICAN”,所以SQL*Plus提示資訊就是英語。

3.如何在Windows上修改NLS_LANG變數呢,可以參考如下方法。
1)進入Windows登錄檔方法
點選Windows作業系統的左下角的“開始”(“start”),然後點選“執行”(Run),最後輸入“regedit”回車後便可進入到登錄檔介面。

2)在登錄檔中按照下面的過程導航,即可定位到NLS_LANG變數
“My Computer” --&gt “HKEY_LOCAL_MACHINE” --&gt “SOFTWARE” --&gt “ORACLE” --&gt “KEY-OraDb10g_home1”
此時在登錄檔的右側就能發現“NLS_LANG”的身影了

3)雙擊“NLS_LANG”,把內容替換為“AMERICAN_AMERICA.ZHS16GBK”即可。

4.修改後再重複一下開始的內容,看一下效果
C:\>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Fri Oct 16 09:32:00 2009

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

sys@secooler> set feedback 1
sys@secooler> select sysdate from dual;

SYSDATE
------------
16-OCT-09

1 row selected.

OK,現在已經全部是英文的內容了。任務完成。

5.小結
這個實驗描述了一個實際中會經常遇到的這個“小問題”的處理方式。希望對大家有幫助。當然,如果您很喜歡中文的提示資訊,可以飄過~~
Oracle的每一個細節都很有趣。

Goodluck.

-- The End --

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

相關文章