
很不错的解决方案,同问题我也遇到并,没有解决,
Q:
我在写一个查询条件时的问题如下:
如我想写一个字段中包含“李”字的所有记录
CENTER>
|
显示的记录中除了包含”李”字的记录,还有不包含“李”字的记录。为什么?
A:
在MySQL中,进行中文排序和查找的时候,对汉字的排序和查找结果是错误的。这种情况在MySQL的很多版本中都存在。如果这个问题不解决,那么MySQL将无法实际处理中文。
出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。
方法一:
解决方法是对于包含中文的字段加上/"binary/"属性,使之作为二进制比较,例如将/"name char(10)/"改成/"name char(10)binary/"。
方法二:
如果你使用源码编译MySQL,可以编译MySQL时使用--with--charset=gbk 参数,这样MySQL就会直接支持中文查找和排序了。
方法三:
可以使用 Mysql 的 locate 函数来判断。以上述问题为例,使用方法为:
CENTER>
|
本站使用的就是这种方法,感觉还不错。:P
方法四:
把您的Select语句改成这样,SELECT * FROM TABLE WHERE FIELDS LIKE BINARY /'%FIND%/'即可!
推荐阅讯
- MySQL for Linux (Alpha)下载列表
- MySQL中修改密码方法总结
- MySQL服务器的启动和关闭
- EMigration-MySQL 下载列表
- Mysql安全:有关“_” 的搜索问题
- MySQL中的mysqldump命令使用详解
- 从MySQL到ORACLE程序迁移的注意事项
- MySQL 5.0 新特性教程 存储过程:第三讲
- 从MySQL导入导出大量数据的程序实现方法
- MySQL安全问题(匿名用户)的一点心得
阅读排行
- 1.完整图解 Tomcat 5.0.28 安装笔记
- 2.Tomcat+SQL Server2000连接池配置
- 3.MySQL 5.015官网下载地址
- 4.MySQL Client下载列表
- 5.MySQL数据库如何实现双机热备的配置
- 6.JDBC连接SQL2000详细流程
- 7.MySQL for Linux (x86, glibc-2.2, static,
- 8.MySQL数据库的多表操作和备份处理
- 9.一个简便的MySql数据库备份的方法
- 10.MySQL数据查询器下载列表
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
