PDO 下设置字符集的问题
<?php
header("Content-type:text/html;charset=utf-8");
try{
//用 pdo 连接数据库
$pdo = new PDO("mysql:host=localhost;dbname=project","root","");
//设置错误处理模式 异常处理错误处理模式
$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo "数据库连接失败,原因是".$e->getMessage();
}
//查询数据
$result=$pdo->query("select * from user limit 5");
查询到的中文显示问号 求解
----------------------- 以下是精选回复-----------------------
答:$pdo = new PDO("mysql:host=localhost;dbname=DB;charset=UTF8", DB_USER, DB_PASS);
答:$pdo->exec('set names utf8')
答:php5.3.6+ 应该可以像上面这么写,低版本就像下面写
$db = new PDO('mysql:host=myhost;dbname=mydb', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
顺便 UTF8 不管用就试试小写。或者 utf-8 。。。具体忘了。。
答:result 是个 PDOStatement 对象啊,语句只是他其中的一个 public 属性,获取数据的话 用 fetch 获取一行 或者 fetchAll 获取全部。
0条评论