0
我正在使用CHAR(code_point USING ucs2)將unicode代碼點轉換爲utf-8字符,但它在0x00ff代碼點之上給了我意想不到的結果。它爲我提供了代碼點0x0100至0x01FF的字符Â(代碼點0x0100),以及代碼點0x0200至0x02FF的字符Ȁ(代碼點0x0200),依此類推。Mysql將unicode代碼點轉換爲utf-8字符
所以,如果我執行這個查詢:
SET NAMES utf8;
SELECT CHAR(0x0100 USING ucs2),CHAR(0x0101 USING ucs2),CHAR(0x0200 USING ucs2),CHAR(0x0201 USING ucs2);
,它給我的結果:
| Â| Â| Ȁ| Ȁ|
而預期的結果是:
| Â| ā| Ȁ| ȁ|
請幫我理解問題,或者提出另一種方法來做到這一點。
在此先感謝..
確切地說,我寫了一個用戶定義的函數,我必須將SMALLINT轉換爲字符,SMALLINT是代碼點。 – Adee 2013-02-12 12:11:13