连接mysql服务器报错时,出现乱码
程序员文章站
2022-04-29 16:46:36
...
页头用了
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。
请问有没有解决方法呢?除了换系统。。。
用两个函数可解决这个问题:mb_detect_encoding,iconv
如果能直接修改某些配置就好了,这样比较麻烦
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
如果能直接修改某些配置就好了,这样比较麻烦
上一篇: 关于CSS和HTML自定义checkbox效果的方法
下一篇: php检测文本的编码_php技巧