Oracle技術:sqlplus漢字亂碼問題的解決

來源:互聯網
上載者:User

從資料庫中導一個資料的時候出現了一個很奇怪的問題,中文亂碼。 首先可以確認的一點,資料在資料庫中是以中文存在的,還有就是用Toad進行串連查詢的時候也是中文。 但是在伺服器端直接用sqlplus 串連查詢之後,所有中文都顯示為亂碼。 第一反應是字元集的問題,也嘗試用修改字元集來解決問題,最終問題還是出在系統的環境變數上。

解決方案:

1. export 參數

$ export NLS_LANG=simplified chinese_china.zhs16gbk

2. 修改配置單數

修改。bash_profile 中的參數,添加相關資訊

NLS_LANG=simplified chinese_china.zhs16gbk;

Export NLS_LANG;

以上是在Linux平台,windows 平台用

C NLS_LANG=simplified chinese_china.zhs16gbk

或者添加一個環境變數就可以了。

3. 補充一點知識:

Nls_lang 是Linux 系統的環境變數;

Nls_language 是資料庫的參數。

我們可以在session中修改Nls_language,不能修改Nls_lang。

樣本:

SQL ALTER SESSION SET NLS_LANGUAGE= 'SIMPLIFIED CHINESE'

SQL alter session set nls_lang=American_America.ZHS16GBK;

alter session set nls_lang=American_America.ZHS16GBK

ERROR at line 1

ORA-00922 missing or invalid option

Oracle 的相關參數我們可以通過以下SQL語句查看:

SQL col PARAMETER format a30

SQL col VALUE format a30

SQL select  from v$NLS_PARAMETERS;

PARAMETER                      VALUE

更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

------------------------------ ------------------------------

NLS_LANGUAGE                   SIMPLIFIED CHINESE

NLS_TERRITORY                  CHINA

NLS_CURRENCY                   ¥

NLS_ISO_CURRENCY               CHINA

NLS_NUMERIC_CHARACTERS         .,

NLS_CALENDAR                   GREGORIAN

NLS_DATE_FORMAT                YYYY-MM-DD HH24MISS

NLS_DATE_LANGUAGE              AMERICAN

NLS_CHARACTERSET               ZHS16GBK

NLS_SORT                       BINARY

NLS_TIME_FORMAT                HH.MI.SSXFF AM

PARAMETER                      VALUE

------------------------------ ------------------------------

NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY              ¥

NLS_NCHAR_CHARACTERSET         AL16UTF16

NLS_COMP                       BINARY

NLS_LENGTH_SEMANTICS           BYTE

NLS_NCHAR_CONV_EXCP            FALSE

已選擇19行。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.