`
clark1231
  • 浏览: 248336 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

MYSQL中讓UTF-8編碼的字段按拼音排序

阅读更多

在mysql中使用默认字符集为utf8,结果想要把中文按拼音排序出现了问题,排出来的顺序乱七八糟,不是我们想要的结果。 
  解决办法如下: 
  1、不想改变表定义及默认编码的情况,将字段先转换成gbk编码再排序: 
  SELECT * FROM table ORDER BY CONVERT( chinese_field USING gbk ) ; 
      chinese_field 为要进行排序的中文字段名称 
  前提是在安装mysql时安装了gbk字符集,不然会报错: 
  #1115 - Unknown character set: 'gbk' 
  在编译源码时加上gbk编码即可,如果已经安装好了,重新编译再安装,重新编译安装一般不会影响mysql的已有设置,包括数据都不会受到影响。 
  2、直接将字段的字符集改成gbk,然后直接使用order by 排序即可。 
  mysql 5.x支持某列单独定义字符集。

 

对应的rails中,例如:

 things = Thing.where(:category_id => params[:category_id]).order("CONVERT( name USING gbk )")

分享到:
评论

相关推荐

    为何不要在MySQL中使用UTF-8编码方式详解

    正因此,才造就了MySQL中的UTF-8与我们日常开发中的UTF-8不一致,从到导致了些问题。MySQL的UTF-8只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。 问题复现 有数据库表如下:utf8编码方式 ...

    mysql数据库设置utf-8编码的方法步骤

    修改/etc/my.cnf或者/etc/mysql/my.cnf文件 [client] default-character-set = utf8 [mysqld] default-storage-engine = INNODB ...创建新数据库时使用UTF-8编码 create database 'test' default character set u

    linux下设置mysql字符集为UTF-8以及mysql重启.docx

    linux下设置mysql字符集为UTF-8以及mysql重启

    MySQL GBK→UTF-8编码转换

    前言: 第一次写教程,其实算不得教程,只是想总结个转换的手记。如果中间有错误,或者办法不够理想,大家回贴研究下。 另外,我也希望我们论坛...因为升级论坛过程中,服务器数据库环境为4.0.26当时不知道并不支持utf-8

    mysql-connector-java-5.1.49

    mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-connector-java-5.1.49 mysql57驱动jar包mysql-...

    开发工具 mysql-connector-java-5.1.40-bin

    开发工具 mysql-connector-java-5.1.40-bin开发工具 mysql-connector-java-5.1.40-bin开发工具 mysql-connector-java-5.1.40-bin开发工具 mysql-connector-java-5.1.40-bin开发工具 mysql-connector-java-5.1.40-bin...

    bigcoder84#study-notes#_1使用MySQL数据库时为什么永远不要UTF-8编码1

    ’ for column ‘summary’ at row 1​ 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字符串

    php页面,mysql数据库转utf-8乱码,utf-8编码问题总结

    2.PHP文件编码问题 点击编辑器的菜单:“文件”->“另存为”,可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8。 3.PHP文件头BOM问题: PHP文件一定不可以有BOM标签,否则,会...

    mysql-installer-community-5.7.31.0

    mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community-5.7.31.0 mysql-installer-community...

    各版本mysql-connector-net.rar

    mysql-connector-net-0.1.0.msi mysql-connector-net-6.3.6.msi mysql-connector-net-6.3.7.msi mysql-connector-net-6.3.8.msi mysql-connector-net-6.3.9.msi mysql-connector-net-6.4.0.msi mysql-connector-...

    JavaEE源代码 mysql-connector-java-5.0.8-bin

    JavaEE源代码 mysql-connector-java-5.0.8-binJavaEE源代码 mysql-connector-java-5.0.8-binJavaEE源代码 mysql-connector-java-5.0.8-binJavaEE源代码 mysql-connector-java-5.0.8-binJavaEE源代码 mysql-connector...

    mysql-connector-java-8.0.27 jar包

    mysql-connector-java-8.0.27 jar包 mysql-connector-java-8.0.27 jar包 mysql-connector-java-8.0.27 jar包 mysql-connector-java-8.0.27 jar包 mysql-connector-java-8.0.27 jar包 mysql-connector-java-8.0.27 ...

    全面了解mysql中utf8和utf8mb4的区别

    下面小编就为大家带来一篇全面了解mysql中utf8和utf8mb4的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    mysql连接包mysql-connector-java-5.1.27.jar

    mysql-connector-java-5.1.27.jar mysql-connector-java-5.1.27.jar

    mysql驱动包 mysql-connector-java-5.1.13-bin.jar

    mysql驱动包 mysql-connector-java-5.1.13-bin.jar 方便快捷获取。。。

    Unity3D教程:修改mysql字符编码成为UTF82

    163、一般就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。解决方法是在发送查询前执行一下下面这句:

    mysql-connector-java-8.0.22.jar

    包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-8.0.22.jar包含mysql-connector-java-...

Global site tag (gtag.js) - Google Analytics