用php做个自己的搜索,出了问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 09:30:41
我用php做个自己的搜索,我搜索英文的时候,比如我要搜 hello,
我把 hello 输入以后含有 hello 的内容全都被搜了出来一条也不少,
可是我搜中文的时候,数据库明明有 ‘我是中国人’ 这句话。为什么我输入‘中国人’就搜不出数据来呢?但是我输入完整的‘我是中国人’ 就可以搜到有关内容了。为什么啊?
我是想弄的像百度的搜索一样输入一个关键字,所有含有这个关键字的内容都显示出来。哪位高手知道问题出在哪里吗?指点一下,谢谢了。
我用的数据库是mysql.
francis674 谢谢了,原来是少了<meta http-equiv="Content-Type" content="text/html; charset=gb2312">这句东西,我加了这句东西进去就可以了,大家都说是编码问题,我问他们怎么改编码没有一个说的清楚的,原来就是这么简单的问题,不知道为什么要说的那么复杂哎。。。。。。。。。。。

sql 语句里面不要用=号,用

like '%关键词%'

//=====================================
楼下说得有理(我修改以后应该是楼上)
另外跟楼主说一下,求学求知要谦虚谨慎,
你的描述在你没有补充的时候我怎么也看不
出那里可以证明你用的是like

如果你不知道的话证明数据库用的是默认字
符集,你尝试在公用链接数据库的那个语句
后加一句mysql_query("sel names utf8")
将链接的字符集换成utf8查询试试看.如果
你的页面编码是gb2312,那就换成gb2312

这就是默认编码数据库里是乱码没关系,不是
说了你用得是默认得拉丁编码,你如果是用mysql得一些前端软件添加得数据,那是搜不出来得.如果用你的php程序添加进来得,是可以搜索出来得.

服了你了,英文的什么编码都不会出现乱码
中文等其它国家的文字需要用两个字节表示
所以应该是这个问题。
你把你的sql语句打印在网页上看看。这么简
单的问题竟然跟你说了那么多次!

我第二次回复得时候不就说了“如果你的页
面编码……”,谁知道你没指定页面编码啊。
唉。
//=====================================

是不是用的同一种字符集呢,你提交的字符集与数据库的字符集是否一致