php查询数据库中文 php数据库查询语句

php操作数据库WHERE语句查询中文报错,无法读取数据?

MYSQL的字段名转义使用返引号`,不是单引号,注意上面代码的下面部分:

创新互联是一家专注于网站设计制作、成都网站制作与策划设计,安溪网站建设哪家好?创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:安溪等地区。安溪做网站价格咨询:18982081108

WHERE '账户'='中文'; //查询中文字报错,数字字母都能正常查询

【账户】是字段名,应使用反引号:

`账户`

【中文】是常量,单双引号都可以,但是要注意你现在的语句是在单引号里面,因此应该转义或者使用双引号,这部分可以修改为:

WHERE 账户="中文"';

另外,如果只是查询中文内容才报错,可能你粘贴代码和原始代码有区别,原始代码没有把字段名放在单引号里面,否则是查不到内容的。查询中文内容报错,一般是中文的编码和网页文件的编码、以及数据库的编码不一致,你这来数据库是UTF8,那么PHP脚本文件、浏览器网页都必须使用UTF-8

用php在mysql数据库内查询中文出错(编码问题)

数据库的编码是 gbk 的,在查询的时候把中文(utf-8)转换成 gbk编码就可以了

$nickname=iconv('utf-8','gbk//TRANSLIT',$nickname);

转换后才执行查询

php 向数据库发送中文字符无法查询?

你的问题可能是数据库连接时未指定字符集:$conn-query("set names utf8");

详细如下:

将中文字符转换一下,可能你的网页编码是ansi非utf-8的:

$w=iconv("gb2312","utf-8",$w);

不过我不确定这样做你能否成功。关于字符有以下几点你看下:

数据库连接时: $conn-query("set names gbk");

数据库的字符集:建议建立数据库时就指定字符集,比如gbk或者utf-8,这样你就没必要为单独的表或者字段指定字符集

网页字符:META CONTENT="text/html; charset=gbk" HTTP-EQUIV="Content-Type" /

保持着三者使用的字符集一样,基本能解决你的问题。

当然,在使用ajax时。js传递过来的是utf-8,如果你的php文件和数据库使用的是中文字符集如gbk,gb2312,那么就需要对该值用iconv函数转换下字符集,如:$w=iconv("utf-8","gb2312",$w);

总之,需要这几块的字符集保持一致。


分享名称:php查询数据库中文 php数据库查询语句
URL链接:http://scyanting.com/article/dogscgo.html