Heim > Backend-Entwicklung > PHP-Tutorial > 连接mysql服务器报错时,出现乱码

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

WBOY
Freigeben: 2016-06-23 13:52:45
Original
1133 Leute haben es durchsucht

页头用了
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

如果能直接修改某些配置就好了,这样比较麻烦
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage