top
Loading...
10.5.Unicode支持
10.5. Unicode支持

MySQL 5.1支持兩種字符集以保存Unicode數據:

·         ucs2UCS-2 Unicode字符集。

·         utf8Unicode字符集的UTF8編碼。

UCS-2(二進制Unicode表示法)中,每一個字符用一個雙字節的Unicode編碼來表示的,第一個字節表示重要的意義。例如:"LATIN CAPITAL LETTER A"Unicode編碼是0x0041,它按順序存儲為兩個字節:0x00 0x41"CYRILLIC SMALL LETTER YERU"Unicode 0x044B)順序存儲為兩個字節:0x04 0x4B。對于Unicode字符和它們的編碼,請參見Unicode 主頁

當前,UCS-2還不能夠用作為客戶端字符集,這意味著SET NAMES 'ucs2'不起作用。

UTF8字符集(轉換Unicode表示)是存儲Unicode數據的一種可選方法。它根據 RFC 3629執行。UTF8字符集的思想是不同Unicode字符采用變長字節序列編碼:

·         基本拉丁字母、數字和標點符號使用一個字節。

·         大多數的歐洲和中東手寫字母適合兩個字節序列:擴展的拉丁字母(包括發音符號、長音符號、重音符號、低音符號和其它音符)、西里爾字母、希臘語、亞美尼亞語、希伯來語、阿拉伯語、敘利亞語和其它語言。

·         韓語、中文和日本象形文字使用三個字節序列。

RFC 3629說明了采用一到四個字節的編碼序列。當前,MySQLUTF8不支持四個字節。(UTF8編碼的舊標準是由RFC 2279給出,它描述了從一到六個字節的UTF8編碼序列。RFC 3629補充了作廢的RFC 2279;因此,不再使用5個字節和6個字節的編碼序列。)

提示:使用UTF8時為了節省空間,使用VARCHAR而不要用CHAR。否則,MySQL必須為一個CHAR(10) CHARACTER SET utf8列預備30個字節,因為這是可能的最大長度。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/charset.html
北斗有巢氏 有巢氏北斗