Mysql学习让MySQL支持中文排序的实现方法

Mysql学习让MySQL支持中文排序的实现方法,第1张

概述介绍《Mysql学习让MySQL支持中文排序的实现方法》开发教程,希望对您有用。

《MysqL学习让MysqL支持中文排序的实现方法》要点:
本文介绍了MysqL学习让MysqL支持中文排序的实现方法,希望对您有用。如果有疑问,可以联系我们。

让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

内存溢出PHP培训学院每天发布《MysqL学习让MysqL支持中文排序的实现方法》等实战技能,PHP、MysqL、liNUX、APP、Js,CSS全面培养人才。

总结

以上是内存溢出为你收集整理的Mysql学习让MySQL支持中文排序的实现方法全部内容,希望文章能够帮你解决Mysql学习让MySQL支持中文排序的实现方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1153782.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存