让Mysql 支持中文查询

原创 2007年09月14日 15:25:00
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%'即可!
 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Mybatis Generator的model生成中文注释,支持oracle和mysql(通过修改源码的方式来实现)

在看本篇之前,最好先看一下上一篇通过实现CommentGenerator接口的方法来实现中文注释的例子,因为很多操作和上一篇基本是一致的,所以本篇可能不那么详细. 首先说一下上篇通过实现Comment...

mysql 的 latin1 中文支持

初学者往往会犯糊涂,mysql 的默认字符集 latin1 是否支持中文?  初步分析表明,是的,确实支持中文!(是初步的结论,只做了初步的分析)   1. 先来看看latin1 (参考百度百科...

让 MySQL 真正支持中文的全文检索(全文索引)

PHP 和 MySQL 几乎也是离不开的, 后面我附一个简单的例子来说明在 PHP 中使用全文检索....下载及完全说明正式地址: http://myft.twomice.net在不影响 MySQL ...

让MySQL支持中文全文检索

因为中文词间并没有明显的区隔,所以中文的分词是按照字典、词库的匹配和词的频度统计,或是基于句法、语法分析的分词,而MySQL并不具备此功能,所以MySQL对中文全文检索的支持几乎为零。 目前很多...

python,mysql,MySQLDb支持中文(utf-8编码)

只要使用utf-8编码,就可以支持中文。我们的软件都是跑在linux上面的,都是utf-8,所以支持中文就是如何支持utf-8的。 python默认编码:是系统编码,所有有些机器不是utf-8的(可能...

linux下让mysql数据库支持中文

因为要跟同学做一个普通的项目,而本人平时要用linux 所以就装了个mysql .最近刚开始学mysql 的使用方法。   今天在mysql 创建表之后,想说插入数据先是发现插入进去的中文显示不了,所...

修改mysql数据库编码格式以支持中文

mysql数据库默认的编码是:Latin1,要想支持中文就需要修改为gbk/utf8的编码格式。在命令行中输入:SHOW VARIABLES LIKE ‘character%’;通过查询结果显示可以看...

支持中文的MySQL 5.1+ 全文检索分词插件

经过不停的尝试和努力,以最新的 mysql 5.1.11-beta 为基础,制作的分词插件已经测试成功,现在发布如下。 由于 mysql 5.1.x 本身的架构作了修改,所以增加分词直接以插件形式方...

ubuntu下的mysql不支持中文,修改方法;

最近弄毕设,才发现以前ubuntu下的mysql不支持中文,新年上班第一天也是花了2小时才搞定,特此记录 一.原因     myeclipse中插入中文发现不仅在mysql中且在myeclipse...

mysql支持中文设置

转载自:mysql支持中文设置 1,创建table的时候就使用utf8编码 举个例子: 1 create table entries2 ( 2 id in...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)