相剋軍_Oracle體系_隨堂筆記013-字元集

來源:互聯網
上載者:User

標籤:style   blog   color   strong   資料   art   ar   div   

linux環境下:[[email protected] ~]# localeLANG=en_US.UTF-8LC_CTYPE="en_US.UTF-8"……windows環境下:C:\Users\Martin>chcp活動字碼頁: 936 字元集其實就是“字元”和“編碼”的一張對照表, 資料庫安裝過程中,會選擇確認下面兩個字元集:1.資料庫字元集:資料庫需要儲存多國語言選擇AL32UTF8,只有中英文選擇ZHS16GBK2.國家字元集 一般都選用AL16UTF16 unicode字元集:UTF8 很老的,不用了。AL32UTF8 目前最新的,建議用。註:實際生產環境,如果確定資料庫只是中國人用(只有中英文相關字元)的話,就採用ZHS16GBK.. sql*plus用戶端(設定原則:與所在作業系統字元集一致): windows:一般都是gbk,即chcp結果為936set NLS_LANG=american_america.zhs16gbk語言和地區為中文中國的話,set NLS_LANG=simplified chinese_china.zhs16gbklinux:一般為utf-8,即echo $LANG 結果為en_US.UTF-8 或zh_CN.UTF-8export NLS_LANG=american_america.utf8 測試:用戶端Linux,系統字元集為zh_CN.UTF-8正確設定:export NLS_LANG=american_america.utf8select dump(‘靖宇‘,1016) from dual;insert into t2 values (1,‘靖宇‘);commit;錯誤設定:export NLS_LANG=american_america.zhs16gbkselect dump(‘靖宇‘,1016) from dual;insert into t2 values (2,‘靖宇‘);commit;注意:字元集設定錯誤導致庫中儲存的就是錯誤的編碼,這個幾乎是無法復原的`一定要謹慎仔細設定好字元集。 伺服器上oracle字元集如何確定當前字元集設定,何時可以更改字元集。
select userenv(‘language‘) from dual;
select * from v$nls_parameters;

瞭解超集,嚴格超集的概念,確定是否可以更改字元集。Oracle不建議後期更改資料庫字元集!

伺服器作業系統字元集(暫時忽略)

 ps:1.因為sql*plus 本身沒有字元集,依賴於所在作業系統的字元集,而在遠端linux上的oracle也是無法直接存取到windows上的字元集,所以依靠sql*plus的NLS_LANG設定來辨別。2.因為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.