标签:
作为一个脆弱的小精灵,采用了一种简陋的方式去连接数据库,相信多数人都是和我一样的连接方式————简陋的数据库连接方式:
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);
然后中文就出来了~~~~
标签:
原文地址:http://www.cnblogs.com/lindsaytian/p/5719914.html