ホームページ >バックエンド開発 >PHPチュートリアル >エンコーディング関連の問題: 明らかに UTF-8 ですが、応答が gbk のように見えるのはなぜですか?

エンコーディング関連の問題: 明らかに UTF-8 ですが、応答が gbk のように見えるのはなぜですか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 11:59:351095ブラウズ

エンコーディングの問題: 明らかに UTF-8 ですが、応答が gbk と表示されるのはなぜですか?
http://parttime.wengege.com/h/login.html

応答エンコーディングは次のとおりです: gbk,utf-8.

HTTP/1.1 200 OK
サーバー: nginx/1.4.1
Date: Mon, 09 Jun 2014 15:28:28 GMT
Content-Type: text/html; charset=gbk,utf-8
Content-Length: 1843
Last-Modified: Mon, 09 Jun 2014 15:28:16 GMT
接続: キープアライブ
ETag: "5395d290-733"
受け入れ範囲: バイト

this/ login.html の内容は editplus で開いて utf-8 として表示され、また utf-8 として保存されることも何度かあります。

ブラウザはどこで gbk であると判断するのでしょうか?それでコードが文字化けしているのでしょうか?

-----解決策---------
たとえば、別のエディタに変更してみてください。 、メモ帳、emeditor など。
------解決策---------
http ヘッダーを除くステータス コード、内容はすべて宣言です

header('Content-type: text/html;charset=gbk,utf-8');
HTTP を選択すると、Content-Type が表示されます。 text/html;charset=gbk,utf-8

php.iniのdefault_charset
httpd.confのdefault_charset
などは全て設定可能
--- --- -解決策------------------
おそらくサーバーのデフォルト設定です
何が問題なのか全く分かりませんis

同じサーバー上に正常に表示できるコードがない場合は、設定の問題のはずです。
正常に表示できるコードがある場合は、正常なコードをこのファイルと同じ内容に変更してください。異常な場合は、変更された文章が問題となります。
テキストが変更された場合。これはまだ正常に表示できます。16 進ビューアを使用して 2 つのファイルを比較してください
-----解決策--------------------- -----------
nginx の設定に問題がありますか? Apacheを変更してテストしますか?
------解決策---------
上記の返信を読んで、疑問が浮かびました。
このディレクトリに .htaccess が設定されており、.htaccess にデフォルトの文字セットが設定されていますか?
------解決策----------------------

.htaccess AddDefaultCharset gbk
AddDefaultCharset utf-8
結果は Content-Type: text/html; charset=utf-8
つまり、最後のコマンドのみが有効です

逆に, if
AddDefaultCharset gbk,utf-8
すると、Content-Type: text/html; charset=gbk,utf-8

となり、問題は再び文字セット宣言になります。組み込みではなく設定されています




引用: 上記の返信を読んだ後、疑問が頭に浮かびます。
このディレクトリに .htaccess が設定されており、.htaccess にデフォルトの文字セットが設定されていますか?

-----解決策---------あなたのjsファイルがありますContent-Type: text/html; charset=gbk,utf-8
明らかに、これは Web サーバー構成ファイルの中にあります
サーバー構成ファイルで gbk という単語を検索すると見つかるはずです

本当に見つけたくない場合は、.htaccess に
AddDefaultCharset utf-8

を追加してください。これにより、元の設定が上書きされます。 -----解決策 --------------------

保存時に BOM を選択せず​​に再試行してください。パケットをキャプチャしたところ、HTML が見つかりました。 BOM ヘッダーがあります新しい発見: BOM のギミックにより、実際にはブラウザのエンコード メニューが灰色になりますか?

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