php向mysql插入数据出现乱码的解决方法

php插入数据到mysql出现中文乱码的一种解决方法

天杀的中文乱码又在php中出现了...曾几何时在学习asp时就碰到它了,一大问题就是它将严重影响ajax的应用~以至于现在一碰到它我就头疼不已,到现在为止在asp中碰到的字符编码问题我还没解决(也许是我比较笨一点吧 ).....
今天试着玩玩php,用php向mysql中写数据,在Dreamweaver中进行时先设置了首选参数中的编码为utf-8,前后台页面都统一用utf-8(mysql默认就是用的utf-8,那就不必改了 ),但是一碰到向数据库里写的数据中有中文,打开phpmyadmin一看中文全是乱码,于是用Google大神一遍遍的搜救命方法,看到有同志提到设置mysql_query中的"set names charset",加入它,然后就ok了,乖乖中文又回来了..
下面总结一下这个乱码问题的解决:
1.确认所有页面都统一使用同样的编码,强烈建议用utf-8;
2.
在用mysql_query作查询时无论是写入数据到mysql还是从mysql提数据出来,设置set names
charset(像这样:$sql=xxxx..;mysql_query("set names
'utf8'");mysql_query($sql).......,需要注意的是设置要在前,而且不要把这时的utf8写成utf-8!).
ok,设置了mysql_query("set names 'charset'")之后,就不再出类似以下问题:
1.用php写入数据到mysql用phpmyadmin查看时中文变成了一堆不知所云的乱码;
2.用php写入到mysql的中文在phpmyadmin中查看正常,但提出来显示到网页中时全都变成了"?????".

相关文档
最新文档