ホームページ >バックエンド開発 >PHPチュートリアル >mysqli_connect_error が文字化けする解決策のアイデア

mysqli_connect_error が文字化けする解決策のアイデア

WBOY
WBOYオリジナル
2016-06-13 12:00:421501ブラウズ

mysqli_connect_error 文字化け
コードは次のとおりです

header("Content-Type: text/html; charset=utf-8");<br />$db_host='127.0.0.1';<br />$db_host='192.168.0.22';<br />$db_user='root';<br />$db_pwd='';<br />$db_name='iq1';<br />@$mysqli=new mysqli($db_host,$db_user,$db_pwd,$db_name);<br /><br />if (mysqli_connect_errno()){<br />	$str='<fieldset><legend>数据库连接失败</legend>';<br />	$str.="<p>可能的原因有:数据库防火墙未关闭、数据库服务未启用</p>";<br />	$str.="<p>返回的错误信息是 %s</p>";<br />	$str.="</fieldset>";<br />	printf ($str,mysqli_connect_error());<br />	exit();<br />};<br />?>

ファイルのエンコードは UTF-8

ブラウザの表示結果は


削除
header("Content-Type: text/html; charset=utf-8");


ファイルを GB2312 として保存すると、ページが通常どおり表示されます。
------解決策------------------
mysqli_connect_error() によって返される情報は gbk のものであるためです。
utf-8 が必要な場合は、変換するだけです
printf ($str, iconv('gbk', 'utf-8', mysqli_connect_error()));

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