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