ホームページ >バックエンド開発 >PHPチュートリアル >mysqlサーバーへの接続時にエラーが報告されると文字化けが発生する

mysqlサーバーへの接続時にエラーが報告されると文字化けが発生する

WBOY
WBOYオリジナル
2016-06-23 13:52:451142ブラウズ

ページヘッダーは
header('content-type:text/html;charset=utf-8'); を使用します

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

接続が失敗するとエラーが報告されますが、IE ではコードが文字化けします。 8ですが文字化けします GB2312を選択すれば文字化けはありません。

ページの形式も UTF-8 です。


ディスカッションに返信(解決策)

mysqlサーバーが失敗したときのエラーメッセージは、オペレーティングシステムのデフォルトの文字セットに従って表示されます

Windowsを使用しているため、エラーメッセージはgbkになります
しかし、これはそうではない それは問題ではありません、結局のところ、そのようなエラーはめったに発生しません

問題ではありません、ブラウザのエンコーディングを変更するだけです。

ブラウザのエンコーディングが gb2312 かどうかを確認してください

mysql サーバーが失敗したときのエラー メッセージは、オペレーティング システムのデフォルトの文字セットに従って表示されます

Windows を使用しているため、エラー メッセージは gbk です
しかし、これは関係ありません、結局のところ、そのようなエラーはめったに発生しません


何か解決策はありますか?システムを変える以外は。 。 。
echo $e->getMessage() ); 時に $e->getMessage() が返す文字セットを確認できます

最初に $e->getMessage() が返す文字セットを確認します

を使用しますこの問題を解決する 2 つの関数: mb_detect_encoding、iconv


一部の設定を直接変更できれば良いのですが、これはさらに面倒です

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。