ChinaUnix.net
 >> ChinaUnix.net > MySQL

MySQL中文排序错误的解决方法

作者:叶大马猴     发表时间:2002/03/28 02:47pm

MySQL中文排序错误的解决方法
作者: 奥索网  评价:  上站日期: 2001-12-29  
--------------------------------------------------------------------------------

  在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。

  出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象,一种解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。

二. 方法2

  如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。



此文章相关评论:
该文章有3个相关评论如下:(点这儿可以发表评论)
叶大马猴 发表于: 2002/03/28 02:48pm
--with--charset=gbk
--with--charset=gb2312
哪个是好选择?
 
redfox 发表于: 2002/03/29 08:59am
gbk
 
叶大马猴 发表于: 2002/03/29 12:11pm
后来查了,
默认的是latin1,
编译时用  extra-charsets=gb2312,gbk,
用,来分别加入多个字符集。
 
 

Copyright © ChinaUnix.net  *  转载请注明出处及作者