mysql 按中文字段排序

 更新时间:2009年01月07日 02:18:49   作者:  
在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);

相关文章

  • Mysql添加联合唯一索引及相同数据插入报错问题

    Mysql添加联合唯一索引及相同数据插入报错问题

    这篇文章主要介绍了Mysql添加联合唯一索引及相同数据插入报错问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • mysql5.7.25使用全文检索功能的实例教程

    mysql5.7.25使用全文检索功能的实例教程

    其实全文检索在MySQL里面很早就支持了,下面这篇文章主要给大家介绍了关于mysql5.7.25使用全文检索功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02
  • gearman + mysql方式实现持久化操作示例

    gearman + mysql方式实现持久化操作示例

    这篇文章主要介绍了gearman + mysql方式实现持久化操作,简单描述了持久化的概念、原理,并结合实例形式分析了gearman + mysql持久化操作相关实现技巧,需要的朋友可以参考下
    2020-02-02
  • MySQL数据库中varchar类型的数字比较大小的方法

    MySQL数据库中varchar类型的数字比较大小的方法

    varchar类型的数据是不能直接比较大小的,那么MySQL数据库中varchar类型如何进行数字比较大小的,本文就详细的介绍一下
    2021-11-11
  • MySQL 读写分离的实现逻辑及步骤详解

    MySQL 读写分离的实现逻辑及步骤详解

    文章介绍了MySQL读写分离的架构、实现步骤、可能遇到的问题及解决方案,并总结了优化点,以提高MySQL数据库的性能和可扩展性,感兴趣的朋友一起看看吧
    2025-02-02
  • MySQL slow_log表无法修改成innodb引擎详解

    MySQL slow_log表无法修改成innodb引擎详解

    这篇文章主要给大家介绍了关于MySQL slow_log表无法修改成innodb引擎的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • MySQL六种约束的示例详解

    MySQL六种约束的示例详解

    约束是作用于表中字段上的规则,用于限制存储在表中的数据。这篇文章主要为大家整理了一下MySQL中六种约束的用法,感兴趣的可以了解一下
    2023-02-02
  • mysql 数据汇总与分组

    mysql 数据汇总与分组

    这篇文章主要介绍了mysql 数据汇总与分组,我们经常需要汇总数据而不用把它们实际检索出来,为此MySQL提供了专门的函数。使用这些函数,MySQL查询可用于检索数据,以便分析和报表生成。下面来看看具体例子,需要的朋友可以参考一下
    2021-10-10
  • MySQL设置用户权限的简单步骤

    MySQL设置用户权限的简单步骤

    这篇文章主要给大家介绍了关于MySQL设置用户权限的简单步骤,学习MySQL数据库,MySQL用户权限设置是需要首先学习的,需要的朋友可以参考下
    2023-07-07
  • mysql存储过程之返回多个值的方法示例

    mysql存储过程之返回多个值的方法示例

    这篇文章主要介绍了mysql存储过程之返回多个值的方法,结合实例形式分析了mysql存储过程返回多个值的实现方法与PHP调用技巧,需要的朋友可以参考下
    2019-12-12

最新评论