让MySQL支持中文排序
编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,一种解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,
例如将"name char(10)"改成"name char(10)binary"。
编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
mysql order by 中文 排序
在MySQL中,我们经常会对一个字段进行排序查询,但进行中文排序和查找的时候,对汉字的排序和查找结果往往都是错误的。 这种情况在MySQL的很多版本中都存在。
如果这个问题不解决,那么MySQL将无法实际处理中文。 出现这个问题的原因是因为MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
解决方法:
对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。
如果你使用源码编译MySQL,可以编译MySQL时使用 --with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了(默认的是latin1)。也可以用 extra-charsets=gb2312,gbk 来加入多个字符集。
如果不想对表结构进行修改或者重新编译MySQL,也可以在查询语句的 order by 部分使用 CONVERT 函数。比如 select * from mytable order by CONVERT(chineseColumnName USING gbk);
UTF8 默认校对集是 utf8_general_ci , 它不是按照中文来的。你需要强制让MySQL按中文来排序。
select * from core_vender_info order by convert(vender_abbrev USING gbk) COLLATE gbk_chinese_ci
让MySQL支持中文排序的实现方法
2019-11-26 19:59MYSQL教程网 Mysql
编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,一种解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较
延伸 · 阅读
- 2019-11-26忘记mysql数据库root用户密码重置方法[图文]
- 2019-11-26mysql mysqldump只导出表结构或只导出数据的实现方
- 2019-11-26MYSQL随机抽取查询 MySQL Order By Rand()效率问题
- 2019-11-26关于MYSQL 远程登录的授权方法 命令
- 2019-11-26Linux下MySQL 5.5.8 源码编译安装记录分享
- 2019-11-26mysql binlog二进制日志详解
精彩推荐
- Mysql
详解mysql中的concat相关函数
这篇文章主要介绍了mysql中的concat相关函数,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...
- Mysql
MYSQL数据库中的现有表增加新字段(列)
MYSQL 增加新字段的sql语句,需要的朋友可以参考下。 ...
- Mysql
MySQL可视化工具Navicat的连接方法
今天小编就为大家分享一篇关于MySQL可视化工具Navicat的连接方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...
- Mysql
MySQL通过show processlist命令检视性能的讲解
今天小编就为大家分享一篇关于MySQL通过show processlist命令检视性能的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一...
- Mysql
影响MySQL性能的五大配置参数
我们今天主要和大家分享的是对MySQL性能影响关系紧密的五大配置参数,以下就是文章的具体内容描述,希望会给你带来一些帮助在此方面。 ...
- Mysql
不使用MySQL数据库的五个给力理由解析
众所周知,MySQL数据库虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。 ...
- Mysql
Can’t open file:'[Table]mytable.MYI'
也许很多人遇到过类似Can’t open file: ‘[Table]mytable.MYI’ 这样的错误信息,却不知道怎么解决他,下面我们做个介绍, ...
- Mysql
winxp 安装MYSQL 出现Error 1045 access denied 的解决方法
自己遇到了这个问题,也找了很久才解决,就整理一下,希望对大家有帮助! ...