select * from product where model like '%$key%'
这是我写的一条查询语句,当我$key='a' 的时候,查询怎么会中文的查询结果,只要包含‘工’字的结果都会显示出来!
然后我把语句改成这样:
$key = strtoupper($key);
select * from product where binary upper(model) like '%$key%'
然后再将$key='a'这样查询的中文不会显示出来,但像'sdf&fsd'这样的也会被显示出来!
我用的是UTF8,我觉得和编码的关系可能不大,我把查询的字串转换成二进制对比过,都是一样!
百思不得其解,望高人指点迷津!万分感谢!
这是我写的一条查询语句,当我$key='a' 的时候,查询怎么会中文的查询结果,只要包含‘工’字的结果都会显示出来!
然后我把语句改成这样:
$key = strtoupper($key);
select * from product where binary upper(model) like '%$key%'
然后再将$key='a'这样查询的中文不会显示出来,但像'sdf&fsd'这样的也会被显示出来!
我用的是UTF8,我觉得和编码的关系可能不大,我把查询的字串转换成二进制对比过,都是一样!
百思不得其解,望高人指点迷津!万分感谢!
解决方案 »
- #!/usr/bin/php 如何不显示在网页中
- php 文本框问题?
- (在线等)怎么建立一个表格的时候,就让这个表格隐藏呢?
- lamp实例,照着例子写的,出了问题
- 紧急求助:关于插入记录时的字符集的问题
- 初识PHP,有些很基本的问题不太懂,希望各位大侠指教(散分^_^)
- 求php高并发下抽奖程序,如何避免重复中奖及多人抽中同一个奖?
- 请教大神 这个到底能不能用正则匹配到 死活弄不出来啊
- 初学着:同样的留言版程序在linux下运行正常,但在windows下运行不正常是为什么?
- 修改php.ini 后是否需要重新启动apache或者服务器?
- 这个函数为什么要用到类运算符呢?
- 在php中怎样禁止浏览器的前进后退按钮
select * from product where model like '%a%'
看看结果如何
肯定是在PHP出的毛病。
select * from product where model like '%$key%'
这个可以搜索中文
select * from product where binary model like '%$key%'
这个不可以搜索中文
谁能解释这个,问题就解决了
如果是编码问题,第一个应该就不能搜索才对呀!
需要调整一下数据库。