PHP与mysql的中文查询问题

cqzhouwf 2008-09-09 08:24:12
where 条件值有中文就查询不出来
例如:
select * from table where name='lilei' OK
select * from table where name='123' OK
select * from table where name='李雷' NO
各位高手救救我呀
急!!!!!!!!!!
...全文
217 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
剑心永远OK 2008-09-10
  • 打赏
  • 举报
回复
如数据库有数据,则你所查询的内容和数据库存储的内容不相同。。

可以从数据查出来,然后比较。。
jiayuxi 2008-09-10
  • 打赏
  • 举报
回复
你给定个变量,让它全部显示,看行不行,或者说数据库没有李雷这条信息,你是否在库里添加了....
要不检测一下,看报错不,报的什么错
dzxccsu 2008-09-10
  • 打赏
  • 举报
回复
首先请确定数据库中有没有这样的记录,如果有建议你在windows里的my.in文件或者Linux里的my.cnf文件中增加default_character_gb2312,数据库默认编码改为gb2312,数据插入和查询时加入mysql_query("set names gb2312");
auex010 2008-09-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cuidenghong123 的回复:]
编码问题
[/Quote]

看看你的页面编码和数据库编码是否一致?
cqzhouwf 2008-09-10
  • 打赏
  • 举报
回复
问题解决了。我以前在PHP中查询之前用的是mysql_query("SET CHARACTER SET GBK");现在改成mysql_query("SET names GBK");就OK了。谢谢各位。是data20042030帮我解决的
海诗美妆 2008-09-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cqzhouwf 的回复:]
数据库的编码是uft8,连接校对是GBK_chinese_ci.字段整理也是GBK_chinese_ci.
数据库的数据不是乱码。是正常中文,而且也有这条记录。在PHPadmin中用同样的SQL语句能查询出来。但是在PHP中就不行。
[/Quote]
都设定成utf8呢?
cqzhouwf 2008-09-10
  • 打赏
  • 举报
回复
select * from table where LIKE='%李雷%'
这样的写法,我早试过了,也不行呀。
cqzhouwf 2008-09-10
  • 打赏
  • 举报
回复
数据库的编码是uft8,连接校对是GBK_chinese_ci.字段整理也是GBK_chinese_ci.
数据库的数据不是乱码。是正常中文,而且也有这条记录。在PHPadmin中用同样的SQL语句能查询出来。但是在PHP中就不行。
n688com 2008-09-10
  • 打赏
  • 举报
回复
数据库 字段的编码格式问题 改一下数据库编码格式 然后再从新把数据库里的name写成李雷 就可以了
wooqiu 2008-09-10
  • 打赏
  • 举报
回复
可能数据库中的数据就不是中文的,存入数据库时,数据变成了乱码,当然查不出来,楼主的问题很有可能是mysql的编码没对。。。
laester 2008-09-09
  • 打赏
  • 举报
回复
你在数据库里面查看下有记录没,有的话能正常显示中文不?
cuidenghong123 2008-09-09
  • 打赏
  • 举报
回复
编码问题
乌镇程序员 2008-09-09
  • 打赏
  • 举报
回复
name字段是什么类型的?查询结果是空的还是报错?用下面的语句查询有结果吗?
select * from table where LIKE='%李雷%'
xiongbing529 2008-09-09
  • 打赏
  • 举报
回复
是不是数据库中不存在这条记录啊?

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧