ホームページ >バックエンド開発 >PHPチュートリアル >PHP が BOM ヘッダーを削除すると文字化けが発生する

PHP が BOM ヘッダーを削除すると文字化けが発生する

WBOY
WBOYオリジナル
2016-06-23 14:04:051002ブラウズ

プログラムは Notepad++ テキスト エディターを使用して作成されています。 [形式] -> [UTF-8 形式でエンコード] を選択すると、中国語の文字 (データベースから読み込まれ、$_SESSION に保存されます) は正常に表示されますが、次の警告が表示されます

警告: session_start() [function.session-start]: セッション キャッシュ リミッターを送信できません - ヘッダーはすでに送信されています (出力は E:wampwwwbiyeshejilogin_check.php:1 で開始されました) (E:wampwwwbiyeshejilogin_check.php の 1 行目)

警告: ヘッダー情報は変更できません- E:wampwwwbiyeshejilogin_check.php の (出力は E:wampwwwbiyeshejilogin_check.php:1 で開始) によって既に送信されたヘッダー
Array ( [username] => Zhang San [userid] => 2009011105 [role] => 3 )

ログイン成功!
5秒後にジャンプ

BOMヘッダーを削除すると警告は消えますが、すべての漢字が文字化けします

Array ( [username] =>寮?? [userid] => 2009011105 [role] => 3)
?诲????!
5绉??????琛?蝞


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

header('Content-type: text/html; charset=utf-8');
が文を追加それが UTF-8 エンコーディングであることを示します。そうでない場合、ブラウザーがそれを自動的に検出する可能性があります

PHP code?1header('Content-type: text/html; charset=utf-8'); UTF-8 エンコーディングであるというステートメントを追加します。そうでない場合は、ブラウザがデバイス自体を検出する可能性があります

解決しました、ありがとうございます

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