同事做个php系统,数据库类用PDO方式实现,结果发现查询和插入的中文都是乱码,看源码,执行了

SET NAMES UTF8

,但奇怪了,检查各种编码都是统一的UTF8啊,问题出在哪里呢,仔细看链接方式

new DBCls("MySQL:host=localhost;dbname=query", "root", "");

突然想起之前自己用易语言搞数据库的时候,MSSQL的时候貌似可以在连接参数里指定使用什么编码的说,查了查,是用charset作为参数的,于是改了下连接的参数如下:

new DBCls("MySQL:host=localhost;dbname=query;charset=utf8", "root", "");

再次测试插入和查询,中文已经可以正常显示了,至此问题解决。

Related Posts: PDO MySQL 插入查询等中文乱码 :