<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 2,  comments - 0,  trackbacks - 0

    基本知識

        字符集(也稱字元集,Character Set)就是字符編碼表(codepage),一個字符不論英文、中文、韓文等在計算機系統(tǒng)內(nèi)存或硬盤中通過二進制的字節(jié)(Byte)保存,這個二進制的編碼就是字符編碼(也稱內(nèi)碼),字符集就是字符與內(nèi)碼的對應(yīng)(映射)表。

        因為多國語言的原因,就出現(xiàn)了根據(jù)本國語言制作的字符集。如使用最廣泛的ASCII編碼,由美國國家標準局(ANSI)制定,適用于所有拉丁、英文字符。中國大陸使用GB2312,GBK,GB18030等字符集,這些字符集包含所有漢字字符的內(nèi)碼,其中GBK,GB18030稱為大字符集,對繁體中文也進行了編碼。香港、臺灣、澳門地區(qū)使用Big5編碼,Big5收錄了繁體中文(有些繁體與中國大陸繁體字符有差異)的編碼,不包含簡體中文的字符編碼。韓文使用euc-kr的字符集,韓文中也有很多漢字,所以字符集包括很多漢字字符的編碼。其他如日文、俄文等都有自己國家制定的字符集,用來保證計算機系統(tǒng)能正確顯示本國的語言文字。不同語言的字符集不具有通用性,ASCII字符集沒有制定中文字符的編碼,GB2312沒有制定韓文字符的編碼,Big5沒有制定簡體中文字符的編碼,針對這種不兼容性,官方發(fā)布了Unicode(進一步優(yōu)化的UTF7,UTF8,UTF16等)字符集,對每一種語言的每個字符制定了統(tǒng)一且唯一的內(nèi)碼,滿足跨語言、跨平臺的字符解碼和轉(zhuǎn)換處理。

     

    字符集編碼(16進制)示例:

     

    字符/字符集

    GBK

    Euc-kr

    UTF8

    UTF16

    物流

    ce-ef ,c1-f7

    da-aa,d7-b5

    e7-89-a9,e6-b5-81

    72-69,6d-41

    ??

    bb-ef ,bc-ba

    ec-82-bc,ec-84-b1

    c0-bc,c1-31

    注:

    1) 字符“??”在韓文字符集Euc-kr中的編碼是bb-ef-bc-ba,GBK字符集中是沒有“??”這兩個字符的,也就是說bb-ef-bc-baEuc-krGBK編碼對照表中是沒有記錄的,如果你硬是要GBK字符集來對“??”作出解釋(解碼),那GBK就用字符“?”(因韓文字符是兩個字節(jié),所以使用全角?)代替,全角?的編碼在GBK中是a3-bf

     

    2) 漢字“物流”字符在Euc-kr中的編碼是da-aa,d7-b5,這說明韓文字符集中包含了部分漢字的編碼,當然這個編碼與GBK字符集中“物流”兩個字符的編碼(ce-ef ,c1-f7)是不同的,用GBK去解釋韓文字符集中“物流”兩個字符,顯示的結(jié)果肯定不是“物流”兩個字符。同樣的,在GBK中很多繁體中文字符的編碼與BIG5中相同繁體中文的字符編碼也是不同的,例如你在簡體中文環(huán)境開發(fā)應(yīng)用程序時,窗體控件使用繁體中文表示,但是在繁體OS運行應(yīng)用程序,控件上的繁體中文變成了亂碼或?,原因就是不同字符集同樣字符的編碼是不同的,解決這個問題的方法就是將應(yīng)用程序使用unicode編碼保存,告訴操作系統(tǒng)使用unicode字符集對你的應(yīng)用程序中的字符進行解碼。

        Windows操作系統(tǒng)(OS)的字符集:不同語言的OS的默認字符集是不一樣的。英文OS使用ASCII字符集作為系統(tǒng)的字符集,簡體使用GB2312,繁體使用Big5(在VB.NET中,可用System.Text.Encoding.Default.EncodingName檢查OS的字符集)。Windows系統(tǒng)本身對系統(tǒng)默認的字符集有很好的支持,但是安裝在OS上的應(yīng)用程序卻不一定這樣。例如,在一個簡體中文操作系統(tǒng)上安裝了韓文版的某個應(yīng)用程序,這個應(yīng)用程序在開發(fā)時使用的是euc-kr字符集編碼。因為OS默認的處理非Unicode程序的字符集是GB2312, GB2312字符集并未對任何韓文字符進行編碼,在GB2312內(nèi)找不到任何一個韓文字符的內(nèi)碼,找不到只能以“?”代替這個字符,對應(yīng)的編碼變成了“?”的編碼,例如:“??”這兩個韓文字符在程序運行時顯示的是“?”。解決這個問題,有三種方法:1,該韓文應(yīng)用程序使用Unicode編碼保存。在簡體環(huán)境運行時,OS使用Unicode字符集解碼,只要系統(tǒng)安裝韓文字體,就可正常顯示韓文;2,將OS處理非Unicode程序使用的字符集改為euc-kr,支持韓文應(yīng)用程序的解碼(在control panel->Regional and Language Options 修改);3,安裝微軟的AppLocale工具,指定該韓文應(yīng)用程序運行時使用euc-kr的字符集。


    為避免亂碼,統(tǒng)一將字符集(操作系統(tǒng)字符集、Oracle客戶端字符集、Oracle數(shù)據(jù)庫字符集)設(shè)置為與Oracle 數(shù)據(jù)庫的字符集一致,

     

    操作系統(tǒng)字符集

    方法一、

    開始運行,輸入cmd,輸入chcp命令


     

    在控制面板區(qū)域和欲予選項,查看本系統(tǒng)活動的代碼頁對應(yīng)的字符集

     

    方法二、

    開始運行,輸入cmd

     






    Oracle
    客戶端字符集

    查看及修改:開始運行,輸入regedit找到

    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1

     

    將值修改為“SIMPLIFIED CHINESE_CHINA.ZHS16GBK



    Oracle數(shù)據(jù)庫字符集

    安裝數(shù)據(jù)庫時設(shè)置

    查詢語句:select userenv('language') from dual;


     

     

    posted on 2012-06-15 14:03 wilsonyq 閱讀(382) 評論(0)  編輯  收藏 所屬分類: DB
    主站蜘蛛池模板: 日木av无码专区亚洲av毛片| 亚洲五月综合缴情在线观看| 国产自产拍精品视频免费看| 亚洲精品国产福利一二区| 国产AV无码专区亚洲AVJULIA| aa级一级天堂片免费观看| 日本xxwwxxww在线视频免费 | 国产男女爽爽爽免费视频 | 久久一区二区三区免费| 国产亚洲AV手机在线观看| 亚洲一区AV无码少妇电影| 国产在线观看无码免费视频| 女人18毛片免费观看| 亚洲大片在线观看| 一级女性全黄生活片免费看| 国产精品色拉拉免费看| 亚洲精品无码永久中文字幕| 免费精品久久久久久中文字幕 | 黄色免费网址在线观看| 成人免费AA片在线观看| 亚洲欧美日韩中文二区| 18成禁人视频免费网站| 国产亚洲精品a在线观看app| 91短视频在线免费观看| 亚洲第一福利网站| 黄页网站在线观看免费高清| 亚洲精品国产啊女成拍色拍| 久久精品成人免费看| 亚洲欧洲成人精品香蕉网| 在线免费观看亚洲| 国产成人综合亚洲一区| 免费无码看av的网站| 亚洲一级片在线观看| 最近中文字幕免费mv在线视频| 亚洲av一本岛在线播放| 亚洲精品国精品久久99热| 在免费jizzjizz在线播| 国产亚洲福利精品一区二区| 久久精品国产亚洲av麻豆小说 | 国产免费久久久久久无码| 亚洲国产成人精品无码一区二区|