Maison > développement back-end > tutoriel php > 连接mysql服务器报错时,出现乱码

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

WBOY
Libérer: 2016-06-23 13:52:45
original
1139 Les gens l'ont consulté

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

如果能直接修改某些配置就好了,这样比较麻烦
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal