ホームページ >バックエンド開発 >PHPチュートリアル >PHP が BOM ヘッダーを削除すると文字化けが発生する
プログラムは 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 エンコーディングであるというステートメントを追加します。そうでない場合は、ブラウザがデバイス自体を検出する可能性があります
解決しました、ありがとうございます