PHP新手,有关php多条件查询的问题,求大神指点,分不够可以加

有2个问题,一个是20行和21行回显是乱码,二是注释掉22和23行情况下,无法正常查询结果。
各位大神,经过 echo $q; 证明是乱码导致不能查询的,那我想问下,为什么会echo 出乱码呢?

你在第一行,加一行
header('Content-Type: text/html; charset=utf-8');
如果加了以后还是乱码,那你在notpad++里的菜单栏上,点“格式”,点“以UTF-8,无BOM格式编码”,乱码问题就解决了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-12

  总结下造成乱码的原因及解决方法:

    一、HTML页面编码:meta http-equiv=content-type content=text/html; charset=utf-8 这里的编码要和数据库编码,及连接数据库编码;

    二、文件在存储编码:比如文件inde.php,改变其存储编码为所需编码。只需用EditPlus等文本编辑软件 文件另存为,在编码中选择正确的编码(这点很多人都会忽略);

    三、数据库编码:比如用的是phpmyadmin 选择数据库后,选择操作选项。下面有一个整理,这里面也要设置成统一的编码;

    四、表编码:操作和第三点类似。这里就不重复了;

    五、字段编码:在建表的建字段的时候,有个整理。如果内容有汉字,就一定要改成统一的编码;

    六、连接数据库时mysql_select_db()后面,要加一句 mysql_query( set names utf8 );

    七、本地测试成功后的网站,传到网上去,会有乱码。可能会是在本地导出数据时没有选择正确的编码,所以才会在导入到web上后有乱码问题。

  你试试这些,看行不行,你里面有这些错误改一下,还有问题的话到问题求助专区            http://bbs.houdunwang.com/

第2个回答  2015-12-14
去掉文件boom头试一试,
第3个回答  2015-12-12
mysql_query() 那里不需要给utf8加双引号吧
相似回答