Welcome 微信登录

首页 / 数据库 / MySQL / MySQL中的utf8中文排序的解决方案

在MySQL中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。解决方案如下:1、不想改变表定义及默认编码的情况,将字段先转换成gbk编码再排序:SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ;前提是在安装MySQL时安装了gbk字符集,不然会报错:#1115 - Unknown character set: "gbk"在编译源码时加上gbk编码即可,如果已经安装好了,重新编译再安装,重新编译安装一般不会影响MySQL的已有设置,包括数据都不会受到影响。2、直接将字段的字符集改成gbk,然后直接使用order by 排序即可。MySQL 5.x支持某列单独定义字符集。3、网上也有人说将字段定义加上binary属性也能达到效果,未作测试,不敢评论。MySQL的文档中也提到字符集校对规则:SELECT * FROM t1 ORDER BY a COLLATE utf8_bin;但此仅仅只影响校对规则,并不影响字符的字符集本身。Linux平台下Oracle的操作Linux系统下利用java连接Oracle 10G相关资讯      mysql技巧 
  • MySQL 压力测试工具super smack  (08/09/2008 07:53:16)
  • 从MySQL读取中文数据,显示???  (08/04/2008 06:48:23)
  • 修改MySQL的编码为UTF8  (07/30/2008 07:12:49)
  • MySQL服务器网络访问慢问题解  (08/09/2008 07:52:23)
  • MySQL服务器上添加一个允许远程访  (08/01/2008 07:31:15)
  • 查看MySQL数据库字符集及数据库连  (07/29/2008 08:14:14)
本文评论 查看全部评论 (0)
表情: 姓名: 字数