Oracle 字元集小結(遇到一例子:查詢結果欄位標題為漢字,但是顯示為‘?')

來源:互聯網
上載者:User

標籤:user   查詢   環境   select   ase   imp   字元集   變數   建議   

問題處理方式:

查詢:select userenv(‘language‘) from dual;

對比電腦環境變數NLS_LANG的值與查詢結果是否一致,如果不一致,修改電腦環境變數NLS_LANG

問題解決後通過查詢資料對會話字元做了一些總結:

字元集分可為三類:

1、資料庫伺服器字元集;

SELECT * FROM NLS_DATABASE_PARAMETERS

NLS_DATABASE_PARAMETERS其來源於props$,是表示資料庫的字元集。

2、用戶端字元集環境

SELECT * FROM V$NLS_PARAMETERS;

SELECT USERENV(‘language‘) FROM DUAL;

USERENV、 V$NLS_PARAMETERS表示當前字元集環境。如果你在用戶端執行,則表示用戶端字元集環境。

其來源於v$parameter,表示用戶端的字元集的設定,可能是參數檔案,環境變數或者是註冊表 

3、會話字元集環境

SELECT * FROM NLS_SESSION_PARAMETERS;

可以通過alter session set NLS_LANGUAGE=‘SIMPLIFIED CHINESE‘;修改會話字元集

它來源於v$nls_parameters,表示會話自己的設定,可能是會話的環境變數或者是ALTER SESSION完成,如果會話沒有特殊的設定,將

與 V$NLS_PARAMETERS一致。

 

用戶端的字元集要求與伺服器一致,才能正確顯示資料庫的非Ascii字元。如果多個設定存在的時候,alter session>環境變數>註冊表>參數檔案 

字元集要求一致,但是語言設定卻可以不同,語言設定建議用英文。如字元集是zhs16gbk,則nls_lang可以是American_America.zhs16gbk。 

 

Oracle 字元集小結(遇到一例子:查詢結果欄位標題為漢字,但是顯示為‘?')

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.