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

mysqli_connect_error コードが文字化けする

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

コードは次のとおりです

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

ファイルは 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()));

それは、mysqli_connect_error() が情報を返すためですのgbk
utf-8 が必要な場合は、コードを変換するだけです

printf ($str, iconv('gbk', 'utf-8', mysqli_connect_error()));



mysqli_connect_error() は GBK を返すメソッドですか、それとも他の関数も同様ですか?

意図的に間違いを作ったかどうかは分かりません。

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