php+sqlserver2012连接数据库中,查询得到中文数据出现中文乱码

在写代码的时候,出现中文数据时,就会查询出错,在浏览器上,将sql语句echo出来的时候,发现并没有乱码,还是正常的样子,然后将相应语句放到SQL server2012里面执行时也是正常的,困扰许久。

SQL语句部分的代码如下:

$sql1 = "SELECT * FROM t_user_expert WHERE user_name ='".$user_name."' AND password ='".$password."'";
echo $sql1; die();

查询得到的结果一直为空,后来尝试把中文从数据库中取出来echo在浏览器里,发现结果为

������

后来注意到原来是php代码这里用的时UTF-8保存的,而且header内容也是

header("content-Type: text/html; charset=utf-8");

而数据库那边的编码为GBK编码,所以导致编码出错,于是将php文件重新以GBK编码保存,并且header改为

header("content-Type: text/html; charset=gb2312");

查询结果就正常了,问题解决。

猜你喜欢

转载自www.cnblogs.com/stupidwf/p/11786120.html