mysql查询中文问题解决方法
来源:互联网 发布:广元广电网络客服电话 编辑:程序博客网 时间:2024/05/16 11:31
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
$str="李";
select * from table where field like '%$str%' ;
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在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;
本站使用的就是这种方法,感觉还不错。:P
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%'即可!
- mysql查询中文问题解决方法
- MySql中文问题解决方法
- MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法[转贴]
- MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法
- MySQL字符集中文乱码终极解决方案和mysql查询中文问题解决方法[转贴]
- mysql 中文乱码问题解决方法
- mysql中文乱码问题解决方法
- mysql中文乱码问题解决方法
- MySQL 中文模糊查询不正确问题解决方案
- MySQL 中文模糊查询不正确问题解决方案 .
- pyton查询mysql数据库中文乱码问题解决
- MySQL 中文模糊查询不正确问题解决方案
- MYSQL命令行查询中文乱码问题解决方案
- plsql查询中文乱码问题解决方法
- java 连接Mysql 中文查询不到结果的问题解决方案,已经字符串拼接方法
- MySQL数据库 查询表数据出现中文乱码 及 插入中文报错Incorrect string value问题解决方法
- 用Hibernate连Mysql中文问题解决方法
- php读mysql中文乱码问题解决方法
- 手工PHP注入详解
- 等待 IBM offer
- 脚本入侵讲解-asp注入漏洞
- solaris 10维护常用命令
- C#播放声音的四种方法
- mysql查询中文问题解决方法
- linux渗透的小技巧
- MYSQL提权技巧
- [CSS]解决无法调用样式单的问题,都是注释犯的错!
- Sample Resume for Beginners (Detail Version)
- STL容器大汇总
- c#语言asp.net实现treeview控件
- 杭州图书馆对所有读者免费开放 包括乞丐【让我感动的图书馆】
- 网上邻居netbios名,服务器宣告