PDO输出乱码的解决方法

<?php 
$db_type = 'mysql';
$db_host = '192.168.9.2';
$db_name = 'myblog';
$db_user = 'root';
$db_pwd = 'root';
$dsn = "$db_type:host=$db_host; dbname=$db_name";
try{
    $pdo = new PDO($dsn, $db_user, $db_pwd);
    $pdo -> exec('set names utf-8');//设置输出编码集
    echo '连接成功';
}catch(PDOException $e){
    die('数据库连接失败' . $e -> getMessage());
}
?>在这里插入代码片
$pdo -> exec('set names utf-8');
$pdo -> query('set names utf-8');
mysql_query('SET NAMES UTF8');  

这三种都试过,还是不行,仍然乱码,后来在PHP的第一行加了:
header(“Content-type:text/html;charset=utf-8”); 乱码问题解决,网上说的都比较片面,其实解决乱码,分几种情况:
A.HTML中文乱码问题的解决方法。
1.在head标签里面加入这句

<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
</head>  
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /></head>

B.HTML和PHP混合的页面解决方案。
除了A方案说的那些之外。还要在文件的最上面加上下面这句代码。

<?php  
header("Content-type:text/html;charset=utf-8");   
?>  
<?phpheader("Content-type:text/html;charset=utf-8");?> 

C.纯PHP页面的中文乱码解决方案(数据是静态的)
只要在页面的开始加上

view plaincopy to clipboardprint?
<?php  
header("Content-type:text/html;charset=utf-8");  
?>  

D.PHP+Mysql中文乱码解决方案
除了按方案C那样的做法外,还要在你的数据查询/修改/增加之前加入数据库编码。

view plaincopy to clipboardprint?
<?php  
 mysql_query('SET NAMES UTF8');   
?> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值