php写入mysql出现中文乱码的解决办法是:在建立数据库连接之后,将该连接的编码方式改为中文。
代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$linkID =@mysql_connect( "localhost" , "root" , "admin" );
if (! $linkID )
{
echo "数据库连接失败!" ;
}
echo "数据库连接成功!" ;
mysql_query( "SET character_set_connection = GBK" , $linkID ); //将连接改为中文编码方式。这种方式
仅能保证插入能正常执行,但是插入之后的数据时???乱码。有待继续解决。
|
继续上面的问题,查看一下Apache目录下的PHP源文件,发现页面的编码方式是ANSI的,于是乎,我改成了utf8格式的。然后在执行SQL语句命令前加上如下代码:
1
|
mysql_query( "set names utf8" );
|
这句话的意思是:使php写入mysql的编码为utf-8
可以防止phpmyadmin中查看mysql的中文数据出现乱码!//很重要!!然后再次执行插入操作,中文就能正常插入数据库了,不再是???乱码形式了。
总结:通过PHP往Mysql数据库中写入中文的话,必须要保证,php源文件编码格式为utf8,mysql的连接要保持utf8格式,数据库表的编码格式为utf8,保证这三点一致,中文就能写入成功了!!
以上内容仅供参考!感谢大家的学习和对服务器之家的支持。