php写入mysql中文乱码的实例解决方法

yipeiwu_com5年前Mysql基础

php写入mysql出现中文乱码的解决办法是:在建立数据库连接之后,将该连接的编码方式改为中文。

代码如下:

$linkID=@mysql_connect("localhost","root","admin");

if(!$linkID)

{

  echo "数据库连接失败!";

}

echo "数据库连接成功!";

mysql_query("SET character_set_connection = GBK",$linkID);//将连接改为中文编码方式。这种方式 

仅能保证插入能正常执行,但是插入之后的数据时???乱码。有待继续解决。

继续上面的问题,查看一下Apache目录下的PHP源文件,发现页面的编码方式是ANSI的,于是乎,我改成了utf8格式的。然后在执行SQL语句命令前加上如下代码:

mysql_query("set names utf8");

这句话的意思是:使php写入mysql的编码为utf-8

可以防止phpmyadmin中查看mysql的中文数据出现乱码!//很重要!!然后再次执行插入操作,中文就能正常插入数据库了,不再是???乱码形式了。

总结:通过PHP往Mysql数据库中写入中文的话,必须要保证,php源文件编码格式为utf8,mysql的连接要保持utf8格式,数据库表的编码格式为utf8,保证这三点一致,中文就能写入成功了!!

以上内容仅供参考!感谢大家的学习和对【宜配屋www.yipeiwu.com】的支持。

相关文章

Windows2003 下 MySQL 数据库每天自动备份

终于让服务器每天早上备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件。分享如下:    &nbs...

mysql中存储过程、函数的一些问题

最近写一些mysql的存储过程和函数,发现网上比较有价值的文档很少,大都是照着手册上抄来的,有些实际问题解决不了,比如用变量作表名。 经过反复调试,总算找到解决办法,一下是一些简单的记录...

深入理解用mysql_fetch_row()以数组的形式返回查询结果

同mysql_result()一样,mysql_fetch_row()也可以用来获取查询结果集,其区别在于函数的返回值不是一个字符串,而是一个数组。函数定义如下。复制代码 代码如下:ar...

浅谈php中mysql与mysqli的区别分析

首先两个函数都是用来处理DB 的。首先, mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysql...

PHP读取ACCESS数据到MYSQL的代码

复制代码 代码如下: <?php header('ontent-Type:text/html;charset=GB2312');//避免输出乱码 $dbhost ="localho...