问题:PDO连接数据库后,查询和插入中文到数据库,出现乱码,如图:
解决方法:
法1:
1 try{ 2 $opts_values = array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES utf8'); 3 $pdo = new PDO($dsn,$login,$passwd,$opts_values); 4 }catch(PDOException $e){ 5 echo $e->getMessage(); 6 }
实例化 PDO 的第四个参数添加 MYSQL_ATTR_INIT_COMMAND 属性。
法2:
1 try{ 2 3 $pdo = new PDO($dsn,$login,$passwd,$opts_values); 4 }catch(PDOException $e){ 5 echo $e->getMessage(); 6 } 7 $pdo->query("SET NAMES utf8");
在实例化PDO对象后,直接设置数据库的编码方式。