INFORMIX字符集相關知識

字符集的基本知識

如果從頭說起,字符集最早的編碼方案來自於ASCII,這也是最常見的編碼方式。該方案起源於20世紀60年代初期,
最初是美國國會圖書館制定用來作爲美國圖書館界書目交換的共同標準,最後完善成爲美國的國家標準ASCII(American
Standard Code for Information Interchange),之後進一步演變成世界性的計算機字符編碼標準ISO646(其全名爲
7-bit coded character set for information interchange),於是成爲計算機編碼方案的基礎。

Informix 數據庫最早支持的編碼方案也就是en_US.8859-1.
由於英文字符一般是以一個字節來存儲的,7位的編碼方案最多隻能代表128個字符;經過擴展的8爲編碼方案也能
代表256個字符,這遠遠不能滿足計算機發展的需要,對於亞洲國家複雜的字符存儲需要更多的碼位,於是各種編碼方案
隨之而生。

爲了容納全世界各種語言的所有字符和符號,解決不同編碼之間的兼容和轉換問題,1991年1月,十多家公司共同出資,
組建Unicode協會,隨後Unicode編碼產生了。

Unicode 協會的口號是:給每個字符提供一個唯一的數字,不論是什麼平臺,不論是什麼程序,不論什麼語言。
最初Unicode編碼使用2-Byte(16bit)來進行編碼,但是最多隻能容納65536個字符,仍然不夠使用,後來進行了
擴充,也就是Unicode 3.1標準,增加了額外的補充字符定義,現在Unicode 5.0標準已經發布,具體參考Unicode
官方站點(http://www.unicode.org)。Unicode 主要有3個實施標準:UTF-8,USC-2和UTF-16。Informix通過Informix
International Language Supplement 支持UTF-8。

根據各種不同標準的含義,如果數據庫需要存放不同語言的不同字符和符號,需要進行跨數據庫的數據交換
與分析,一般建議使用Unicode編碼方案。當然,Unicode方案可以表示更多的字符,但是由於多位的存儲,需要額外
的存儲空間和網絡傳輸,所以選擇最適合的數據庫字符集仍然需要慎重考慮。

 

 

一、查看數據庫字符集

有如下兩種方式:

A.

dbaccess dbname

select site from systables where tabname=' GL_COLLATE'

B.

dbaccess sysmaster

select * from sysdbslocale

 

二、查看支持字符集情況

A.

操作系統

locale -a |grep -i 字符集名

B.

INFOMRIX的GLS

cd $INFORMIXDIR

plfiles

查看lc11.txt文件信息

 

三、如何設置字符集

由於INFORMIX數據庫的字符集是對整個實例有效,默認字符集爲:en_US.819

其他字符集可以通過如下方式進行設置(只有數據庫初始安裝時纔可以修改),以UTF-8字符集爲例。

在Informix環境變量中添加

export LANG=ZH_CN.UTF-8

export DB_LOCALE=zh_cn.utf8
export CLIENT_LOCALE=zh_cn.utf8

重新初始化數據庫,新的數據庫支持UTF8字符集。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章