网站建设资讯

NEWS

网站建设资讯

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

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

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

我们提供的服务有:成都网站建设、网站设计、微信公众号开发、网站优化、网站认证、金平ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的金平网站制作公司

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

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

`账户`

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

WHERE 账户="中文"';

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

php通过odbc用sql语句查询时无法查询中文???

php

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

数据库中有这个字段,用sql语句直接可以查,但是php发送查询就查不了,数据表的格式是utf8_general_ciphp保存的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 数据库查询
文章转载:http://njwzjz.com/article/ddosjsc.html