mysql 的 like 问题,超强毕杀记!!!
作者:bea
方法一: 解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"namechar(10)"改成"namechar(10)binary"。 方法二: 如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk参数,这样MySQL就会直接支持中文查找和排序了。 方法三: 可以使用Mysql的locate函数来判断。以上述问题为例,使用方法为: SELECT*FROMtableWHERElocate(field,
方法一:
解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
SELECT * FROM table WHERE locate(field,'李') > 0;
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可
问题出现的原因是: 在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象
有用 | 无用
解决方法是对于包含中文的字段加上"binary"属性,使之作为二进制比较,例如将"name char(10)"改成"name char(10)binary"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
SELECT * FROM table WHERE locate(field,'李') > 0;
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可
问题出现的原因是: 在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 回答PHPCHINA上的几个问题:URL映射
- 简单采集了yahoo的一些数据
- 用PHPdig打造属于你自己的Google[图文教程]
- php中的一个中文字符串截取函数
- PHP音乐采集(部分代码)
- 一个数据采集类
- phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
- 增加反向链接的101个方法 站长推荐
- Discuz!5的PHP代码高亮显示插件(黑暗中的舞者更新)
- 解决控件遮挡问题:关于有窗口元素和无窗口元素
- 获得Google PR值的PHP代码
- 一键删除顽固的空文件夹 软件下载
- php中通过smtp发邮件的类,测试通过
- php5.2.0内存管理改进
- php中截取字符串支持utf-8
- php中的登陆login
- php中的时间显示
- 解决phpmyadmin中文乱码问题。。。
- php批量删除数据