今天试了一下mysql()的函数ord()上面提到了多字节的使用,我用了中文试了一下,发现中文并不被解释成双字节,它只是将一个中文的区码转换成内码,而并没有将位码转换成内码,如“大”和“万”
mysql> select ord('大');
+-------------+
| ord('大')   |
+-------------+
|         180 |
+-------------+
mysql> select ord('万');
+-----------+
| ord('万')   |
+-----------+
|       205 |
+-----------+
它们都是区码的内码,有没有人用过ord()的多字节啊。有的话,发个例字顺便将解一下啊

解决方案 »

  1.   

    是你的字符集设计的问题!。mysql> set names 'gb2312';
    Query OK, 0 rows affected (0.05 sec)mysql> select ord('大');
    +-----------+
    | ord('大') |
    +-----------+
    |     46323 |
    +-----------+
    1 row in set (0.13 sec)mysql> select ord('万');
    +-----------+
    | ord('万') |
    +-----------+
    |     52722 |
    +-----------+
    1 row in set (0.05 sec)mysql>
    关于字符集的介绍可以参考下贴。
    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  2.   

    字符集问题:
    用show charset 语句就可以到各种字符集的详细占据字节长度了