在sybase系統中使用中文的若干方面
如何選擇ASE字符集使之支援簡體中文字元
目前在ASE 12.5中支援中文字元的字符集有四種:CP936,EUCGB,UTF-8和GB18030。其中EUCGB字符集是基於GB2312-80編碼規範的,它的EUC (Extended Unix Code)編碼範圍是第一位元組0xA1~0xFE(實際只用到0xF7), 第二位元組0xA1~0xFE。
目前在ASE 12.5中支援中文字元的字符集有四種:CP936,EUCGB,UTF-8和GB18030。其中EUCGB字符集是基於GB2312-80編碼規範的,它的EUC (Extended Unix Code)編碼範圍是第一位元組0xA1~0xFE(實際只用到0xF7), 第二位元組0xA1~0xFE。
CP936字符集是基於GBK編碼規範(實際上的國家標準是GB13000-90),是對GB2312進行的擴充套件,第一位元組為0x81~0xFE, 第二位元組分兩部分,一是0x40~0x7E,二是0x80~0xFE。其中和GB2312相 同的區域,字完全相同。
GB18030字符集(國家標準號是GB18030-2000)是2000年3月17日釋出的新的中文編碼標準。它是GB2312的擴充, 採用單/雙/四位元組編碼體系結構,收錄了27000多個漢字以及臧文、蒙文、維吾爾文等主要的少數民族文字。
Sybase 從ASE 12.5.0.3之後開始支援GB18030字符集。
UTF-8字符集是現有ASCII系統向Unicode轉換的一個過渡方案。它使用1-3位元組表示一個字元。
簡體中文的每個字元在utf8中的長度基本上都是3個位元組。它的最主要的優點是可以同時支援超過650種語言的字元。 缺點是針對中文字元來說,需要增加50%的空間用來儲存。還有一個問題是執行sp_helptext顯示儲存過程體的時候, 有可能出現半個漢字。
一般來說,由於EUCGB不支援國標一、二級字型檔以外的漢字,所以我們推薦使用者在伺服器端和客戶端都使用CP936字符集, 或者在ASE 12.5.0.3之後還可以使用GB18030字符集,它可以支援一些比較生僻的漢字。它的不足是隻有一種排序方式, 即區分大小寫的Binary方式。所以,如果需要使用支援中文字符集且不區分大小寫的資料庫時,就只能使用UTF-8作為服 務器端字符集,而客戶端使用CP936或GB18030字符集。
另外,還有一種選擇是,伺服器端和客戶端都使用iso_1字符集,雖然iso_1字符集並不直接支援中文字元, 但我們將伺服器端和客戶端都設定成iso_1字符集後,系統也不會在客戶端和伺服器端進行字元轉換,它只不過將一個漢字 的兩個位元組當做兩個單獨字元來處理,一般情況下沒有問題。但當執行like匹配查詢的時候,它有可能返回不正確的結果, 原因是伺服器端是根據單位元組去匹配查詢條件的,很可能會有前一個漢字的第二位元組與後一個漢字的第一位元組的內碼組合符合查詢條件,被伺服器端作為查詢結果返回來。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22363020/viewspace-695118/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- jive在win系統下的中文問題?
- ERP系統的價值主要體現在這些方面!
- 蘋果系統修復若干辦法蘋果
- sybase中cursor的使用中死迴圈問題解決
- Hanlp在java中文分詞中的使用介紹HanLPJava中文分詞
- 有關Sybase資料庫系統、IQ系統的網貼總結資料庫
- 彈框 在Avalonia中,使用系統預設的彈框
- 使用WMS系統可以改變倉儲管理的哪些方面?
- 關於Sybase IQ所使用檔案系統維護建議TJ
- CRM管理系統改進企業在營銷方面的弊端
- EhCache快取系統在整合環境中的使用詳解快取
- 在Linux中,如何檢視系統的磁碟使用情況?Linux
- Windows 8.1中文版系統使用中文軟體出現亂碼問題Windows
- 有關Sybase資料庫系統、IQ系統的網貼總結(改進)資料庫
- Sybase___在Windows NT上手動解除安裝Sybase ServerWindowsServer
- 鴻蒙系統中Intent的使用鴻蒙Intent
- 陳先科:實施ERP系統的若干體會(轉)
- 在 Linux 系統中禁用與解禁使用者的賬號Linux
- 在Linux系統中批次新增使用者的操作流程(轉)Linux
- 在Linux系統中,批次新增使用者的操作流程(轉)Linux
- 轉:SYBASE在Linux下使用非同步IO(aio)配置Linux非同步AI
- 妹紙在IT公司上班的若干好處
- 使用 mDNS 在區域網中輕鬆發現系統DNS
- 如何使用storcli在系統中管理RAID磁碟陣列AI陣列
- 在django如何使用中文Django
- sybase中的字符集轉換
- SAP系統在企業內部控制方面有哪些獨到之處?
- CRM系統在銷售管理中的作用
- "我的“體系在多使用者作業系統人機介面中的設計作業系統
- 英國央行將測試DLT在新結算系統中的使用
- 震驚!浙江某男子發現鴻蒙系統若干秘密鴻蒙
- 解決Sybase ASE中的dbisql (interactive sql)和Sybase SQL Anywhere中的dbisql相互打架問題SQL
- 使用MyEclipse盜版的若干危害Eclipse
- 在Linux中,如何監控系統資源使用情況?Linux
- 在Linux中,如何檢視系統資源使用情況?Linux
- 訊號課組(一) 訊號與系統 Part 0 MATLAB在訊號與系統中的使用Matlab
- putty 連線到linux系統中使用中文Linux
- [譯] 使用 Pandas 在 Python 中建立一個簡單的推薦系統Python