当前位置:Gxlcms > 数据库问题 > PDO连接数据库的中文乱码问题

PDO连接数据库的中文乱码问题

时间:2021-07-01 10:21:17 帮助过:39人阅读

 

问题的原因就很明显了,这说明在存入数据时就出现了问题,并不是数据库自身的原因。mysql php apache中好像跟apache又没什么关系,所以问题肯定出在了php操作数据库的代码里!

 

我是采用pdo来操控数据库的,于是搜索了一下pdo怎样设置utf8编码,在php-pdo官方文档中,好像并没有提及,但是在 User Contributed Notes 中发现这么一段

<?php 
//If you use the UTF-8 encoding, you have to use the fourth parameter : 

$db = new PDO(‘mysql:host=myhost;dbname=mydb‘, ‘login‘, ‘password‘, array(PDO::MYSQL_ATTR_INIT_COMMAND => ‘SET NAMES \‘UTF8\‘‘)); 
?>

在实例化PDO时,需要提供第四个参数,来设置编码。

array(PDO::MYSQL_ATTR_INIT_COMMAND => ‘SET NAMES \‘UTF8\‘‘)

再实验用php往数据库中插入数据,发现数据库中新插入的数据不再乱码了,并且客户端展示的数据库中文内容也不再显示问号,原来一切问题都出现在数据库和客户端中间的桥梁--PDO这里

PDO连接数据库的中文乱码问题

标签:文件   环境   init   coding   microsoft   encoding   网站   说明   code   

人气教程排行