前言
成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比阿巴嘎網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式阿巴嘎網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋阿巴嘎地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴(lài)。昨天在論壇里面遇到一個(gè)比較特殊的場(chǎng)景。他的公司做的是海外的項(xiàng)目,中英再加一個(gè)當(dāng)?shù)卣Z(yǔ)言,要兼容三種文字啊.
那有沒(méi)有什么字符集或排序規(guī)則,能兼容所有文字的?對(duì)于海外項(xiàng)目很痛苦啊 .Oracle 有AL32UTF8 ,MySQL 有UTF8 ,那SQL Server 有嗎?
基本概念
ASCII編碼
在計(jì)算機(jī)發(fā)明后不久,計(jì)算機(jī)只在美國(guó)用。他們創(chuàng)造出了ASCII編碼,來(lái)表示:空格、標(biāo)點(diǎn)符號(hào)、數(shù)字、大小寫(xiě)字母,控制符等??梢酝暾谋磉_(dá)所有的英文。但是也只支持英文。
GBK編碼
后來(lái)隨著計(jì)算機(jī)的流行,中國(guó)人民通過(guò)對(duì) ASCII 編碼的中文擴(kuò)充改造,產(chǎn)生了 GB2312 編碼,可以表示6000多個(gè)常用漢字。漢字實(shí)在是太多了,包括繁體和各種字符,于是產(chǎn)生了
GBK 編碼,它包括了 GB2312 中的編碼,同時(shí)擴(kuò)充了很多。中國(guó)是個(gè)多民族國(guó)家,各個(gè)民族幾乎都有自己獨(dú)立的語(yǔ)言系統(tǒng),為了表示那些字符,繼續(xù)把 GBK 編碼擴(kuò)充為 GB18030 編碼。
每個(gè)國(guó)家都像中國(guó)一樣,把自己的語(yǔ)言編碼,于是出現(xiàn)了各種各樣的編碼,如果你不安裝相應(yīng)的編碼,就無(wú)法解釋相應(yīng)編碼想表達(dá)的內(nèi)容。
終于,有個(gè)叫 ISO 的組織看不下去了。他們一起創(chuàng)造了一種編碼 UNICODE ,這種編碼非常大,大到可以容納世界上任何一個(gè)文字和標(biāo)志。所以只要電腦上有 UNICODE 這種編碼系統(tǒng),無(wú)論是全球哪種文字,只需要保存文件的時(shí)候,保存成 UNICODE 編碼就可以被其他電腦正常解釋。
UTF-8 AND UTF-16
UNICODE 在網(wǎng)絡(luò)傳輸中,出現(xiàn)了兩個(gè)標(biāo)準(zhǔn) UTF-8 和 UTF-16,分別每次傳輸 8個(gè)位(2個(gè)字節(jié))和 16個(gè)位(4個(gè)字節(jié))。于是就會(huì)有人產(chǎn)生疑問(wèn),UTF-8 既然能保存那么多文字、符號(hào),為什么國(guó)內(nèi)還有這么多使用 GBK 等編碼的人?因?yàn)?UTF-8 等編碼體積比較大,占電腦空間比較多,如果面向的使用人群絕大部分都是中國(guó)人,用GBK 等編碼也可以。
總的來(lái)說(shuō):
Unicode 是「字符集」
UTF-8 是「編碼規(guī)則」
其中:
字符集:為每一個(gè)「字符」分配一個(gè)唯一的 ID(學(xué)名為碼位 / 碼點(diǎn) / Code Point)
編碼規(guī)則:將「碼位」轉(zhuǎn)換為字節(jié)序列的規(guī)則(編碼/解碼 可以理解為 加密/解密 的過(guò)程)
排序規(guī)則
比如我們常用的:Chinese_PRC_CI_AS ,前面部分是Chinese_PRC 這個(gè)部分表示支持的中國(guó)大陸的字符集。但是這里有個(gè)特別需要注意的事項(xiàng),劃重點(diǎn),在很多博客上面會(huì)有這樣的描述:
大陸簡(jiǎn)體字UNICODE的排序規(guī)則
這里有很大的歧義。并不是說(shuō)這個(gè)排序規(guī)則對(duì)所有字符都是有的Unicode。這樣說(shuō)并不準(zhǔn)確。
排序規(guī)則的后半部份即后綴 含義:
_BIN 二進(jìn)制排序
_CI(CS) 是否區(qū)分大小寫(xiě),CI不區(qū)分,CS區(qū)分(case-insensitive/case-sensitive)
_AI(AS) 是否區(qū)分重音,AI不區(qū)分,AS區(qū)分(accent-insensitive/accent-sensitive)
_KI(KS) 是否區(qū)分假名類(lèi)型,KI不區(qū)分,KS區(qū)分(kanatype-insensitive/kanatype-sensitive)
_WI(WS) 是否區(qū)分寬度 WI不區(qū)分,WS區(qū)分(width-insensitive/width-sensitive)
區(qū)分大小寫(xiě):如果想讓比較將大寫(xiě)字母和小寫(xiě)字母視為不等,請(qǐng)選擇該選項(xiàng)。
區(qū)分重音:如果想讓比較將重音和非重音字母視為不等,請(qǐng)選擇該選項(xiàng)。如果選擇該選項(xiàng),
比較還將重音不同的字母視為不等。
區(qū)分假名:如果想讓比較將片假名和平假名日語(yǔ)音節(jié)視為不等,請(qǐng)選擇該選項(xiàng)。
區(qū)分寬度:如果想讓比較將半角字符和全角字符視為不等,請(qǐng)選擇該選項(xiàng)
Unicode
SQL SERVER 是支持Unicode的。對(duì)應(yīng)的字符類(lèi)型是nchar,nvarchar.
總結(jié)
所以,SQL SERVER 沒(méi)有這樣的和ORACLE UTF-8類(lèi)似的排序規(guī)則。。如果是三種文字,建議把所有的字符類(lèi)型定義為nchar,nvarchar 。
以上就是本文關(guān)于SQLserver排序規(guī)則基本概念探索的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:淺談sqlserver下float的不確定性、SQLserver中cube:多維數(shù)據(jù)集實(shí)例詳解、sqlserver:查詢(xún)鎖住sql以及解鎖方法等,有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家,在此也希望朋友們對(duì)本站多多支持!
網(wǎng)站題目:SQLserver排序規(guī)則基本概念探索-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://redsoil1982.com.cn/article16/coeigg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、App開(kāi)發(fā)、網(wǎng)站改版、定制開(kāi)發(fā)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容