欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php连接SQL文件编码的问题,上次草草结贴,又出问题,求解

程序员文章站 2022-06-08 09:41:54
...
本人是用php做的数据库连接,存入数据的时候就出问题了,但是用php把数据的编码方式进行了修改,
===========================================
iconv("utf-8","gbk",$array[2])
===========================================
存入正确了,但是就是取出数据的时候出问题了,想着再用原来的方法换回来,但是没办法换回来了...
取中文并打印到网页的时候都变成了“??”...想来是数据编码的问题,就是不知道改怎么统一
我的PHP编码是用的utf8 数据库也是utf8,是不是和浏览器的编码也有关系?...
下面有我的错误页面。


回复讨论(解决方案)


这是问题截图,本来会输出 “欢迎 张三 ”之类的,但是就变成了“欢迎??”...
上次出问题是存入数据库的时候中文存进去是 “??”这次是取出来变成这样...
纠结啊...有什么方法能统一一下么?..

mysql_query("set names utf8"); //执行查询前加上这一句
防止页面输出乱码可在php文件行首加上:header("content-type:text/html;charset=utf-8");

$link=@mysql_connect(HOST,USER,PASS) or die("数据库连接失败");mysql_select_db(DBNAME,$link);mysql_query('set names utf8');$sql="select * from users where username='{$username}' and state=1";$result=mysql_query($sql,$link);

发送sql语句前,加上 mysql_query('set names utf8');就可以解决了,前提是数据里面是中文,不能是乱码!

这个很你的数据库编码有问题,你进msyql数据库看看,还有就是mysql_query("set names utf8");再有就是网页的bom问题。解决不了就把截图贴出来,帮你看看

谢谢各位,用了大家的方法终于解决了,非常感谢哈~
mysql_query('set names utf8');
就是这条语句加上去就好了~