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

yipeiwu_com6年前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】的支持。

相关文章

mysql 中InnoDB和MyISAM的区别分析小结

 MyIASM是IASM表的新版本,有如下扩展: 二进制层次的可移植性。 NULL列索引。 对变长行比ISAM表有更少的碎片。 支持大文件。 更好的索引压缩。 更好的键吗统计分...

备份mysql数据库的php代码(一个表一个文件)

复制代码 代码如下: <?php $cfg_dbhost ='localhost';//mysql主机 $cfg_dbname ='sq_test';//数据库名 $cfg_dbu...

PHP获取php,mysql,apche的版本信息示例代码

直接获取PHP的版本 复制代码 代码如下: <?php echo "PHP软件版本:".phpversion(); ?> 直接获取MYSQL版本 复制代码 代码如下: &l...

php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串

数据库脚本: -- -------------------------------------------------------- -- -- 表的结构 `highot_attachm...

memcached 和 mysql 主从环境下php开发代码详解

复制代码 代码如下: <?php $memcached = array( //用memcached 的 多 进程模拟 多台memcached 服务器 cn en 为 内存服务器名...