首页 > 后端开发 > php教程 > 连接mysql服务器报错时,出现乱码

连接mysql服务器报错时,出现乱码

WBOY
发布: 2016-06-23 13:52:45
原创
1137 人浏览过

页头用了
header('content-type:text/html;charset=utf-8');

try
{
   $this->dbo=new PDO($dsn,$dbuser,$dbpassword);
}
catch(Exception $e)
{
  echo $e->getMessage();
}

连接失败时会报错,但是乱码,IE下编码查看是UTF-8,但是是乱码,如果选择GB2312就不会有乱码了。

页面的格式也是UTF-8。


回复讨论(解决方案)

mysql 服务器出现故障时的错误信息是按所在操作系统默认字符集给出的
你使用的是 windows,所以错误信息是 gbk 的
不过这并没有关系,毕竟此类错误极少出现

这没什么关系,你改下浏览器编码就是了。

查看下浏览器的编码可否是gb2312

mysql 服务器出现故障时的错误信息是按所在操作系统默认字符集给出的
你使用的是 windows,所以错误信息是 gbk 的
不过这并没有关系,毕竟此类错误极少出现



请问有没有解决方法呢?除了换系统。。。

你可以在 echo $e->getMessage(); 时
先检查一下 $e->getMessage() 返回的是什么字符集的内容

你可以在 echo $e->getMessage(); 时
先检查一下 $e->getMessage() 返回的是什么字符集的内容



用两个函数可解决这个问题:mb_detect_encoding,iconv

如果能直接修改某些配置就好了,这样比较麻烦
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板