wamp环境,pdo方式连接数据库,中文乱码解决方案

作为一个脆弱的小精灵,采用了一种简陋的方式去连接数据库,相信多数人都是和我一样的连接方式————简陋的数据库连接方式:

define('DB_HOST','your_host');
define('DB_USER','your_username');
define('DB_PWD','your_password');
define('DB_CHARSET','utf-8');
define('DB_DBNAME','your_db_name');

$pdoOb=new PDO('mysql:host='.DB_HOST.';dbname='.DB_DBNAME',DB_USER,DB_PWD);
$pdoOb->exec('SET NAMES '.DB_CHARSET);

$sql="select ... from ...";

$result = $dbh->query($query);
$rows = $result->fetchAll();

好吧,然后就出问题了,发现从数据库取出来的中文数据(只要是中文)都是乱码的(数据库的编码已经是utf8了)。。。。(原谅我这里不能附图

我不会告诉你pdo连接数据库的精致的方式~~~因为那是一个行业经验10多年的大神告诉我的,我得替人家保守秘密~~~

好吧,为什么取出来的数据会乱码呢,就在pdo  DNS连接的地方,你需要修改连接,变成下面的方式:

$pdoObj=new PDO('mysql:host='.DB_HOST.';dbname='.DB_DBNAME.';charset=utf8',DB_USER,DB_PWD);

然后中文就出来了~~~~

 

posted @ 2016-07-29 23:14  LindsayTian  阅读(250)  评论(0编辑  收藏  举报