匹配中文的问题,是mysql的bug。这个是我知道的。如果你想避免匹配出其他,请将该字段设置属性为binary(二进制)。英文的不详,推测也可以使用这种方法解决。
解决方案 »
- 这样的 怎么去用php获取想要的。。。。超级急啊!!!
- php替换内容方法求教。
- 一个有关外部js代码调用的问题,php的
- 1亿条数据,如何快速的从一张表导入到另一张表
- 找一PHP熟手帮我改点儿东西,报酬1000元
- Fatal error: Call to undefined function: query() in C:\Apache2\web\ggs\common\mySession.inc on line 56
- 时间比较问题
- 大家都用什么内容管理系统?能否提供下载连接?
- 端口转向的问题
- thinkSNS 中发说说 引号转义问题
- 这样的数组该怎么遍历才是最好的呢?请各位指教一下!
- 求助!!急!
mysql-4.0.16
basedir=D:/usr/local/mysql
#bind-address=127.0.0.1
datadir=D:/usr/local/mysql/data
default-character-set=gb2312 #这里是采用gb2312编码
一切都留给mysql就行了
select * from cy where name like binary "%中%"也不行!
my.ini里编码设置成
default-character-set=gb2312 或 gbk都不行!装了mysql5.0,乱码搞不定!
在my.ini设置了编码为gbk,这样phpmyadmin里显示的不是乱码,但是我以前的网站数据显示的就乱码了,如果my.ini编码按默认的,那么phpmyadmin里显示为乱码,网站显示正常!这个问题又如何解决!
连接后
set names gbk
select * from cy where name REGEXP '中' limit 0,200
这样也会把一些不相关的搜索出来,如"粗心大意"都匹配出来了,结果跟用前2个方法一样!
select * from cy where name REGEXP '爱' limit 0,200 #完全正确!!!总结一下:用“爱”做关键字的时候查出来完全正确,用“中”做关键字的时候查出来有少部分错误!
为何?难道是mysql对中文支持不好无法解决这个头痛的问题吗?
如果正好你的数据里没有碰到‘爱’的前一半和后一半碰到一起的情况,就不会出错。
这不是mysql的问题,是gb码本身造成的。mysql4.1以上设置字符集后没有这个问题。
使用utf8编码也不会有这个问题。
比如“的”可以出现在所有的文章中,那么搜索的结果将是全部记录,那还搜索个啥?
英文字母就更是如此了