まず、PHP設定ファイルphp.ini:
1のdefault_charsetをオフにします。ページはcharsetを指定せず、Apacheはdefaultcharst gbkを設定し、ページファイルのエンコーディングはutf-8です
結果:文字化け、 Wireshark を使用してパケットをキャプチャし、サーバーを検出します。 返されたヘッダーは次のように指定します。
コードをコピーします
Apache2マニュアルを読んでください:
AddDefaultCharsetディレクティブ応答コンテンツがtext/plainまたはtext/htmlの場合にHTTP応答ヘッダーに追加されるデフォルトの文字セットについて説明します
構文AddDefaultCharsetOn|Off|charsetデフォルト値AddDefaultCharsetOffスコープserverconfig, virtualhost,directory,.htaccess
Override item FileInfo
State core (C)
Module core
応答コンテンツが text/plain または text/html の場合に限り、このディレクティブは HTTP 応答ヘッダーに含まれます
デフォルト文字セットが追加されました。理論的には、これはドキュメント本文の タグで指定された文字セットをオーバーライドしますが、実際の動作は通常、ユーザーのブラウザ設定によって異なります。 AddDefaultCharsetOff はこの機能を無効にします。
AddDefaultCharsetOn は、Apache 内のデフォルトの文字セット、iso-8859-1 を有効にします。 IANA に登録されている文字セット名のうち、別の文字セットを使用するように指定することもできます。
例:
AddDefaultCharsetutf-8
言い換えれば、Apache がdefaultcharset を指定しない場合、ページのエンコーディングはページ独自のメタタグによって指定されます。
Apache で指定されている場合、ページ内のメタ タグで指定されたエンコードは無視されますが、スクリプトはヘッダーをクライアントに直接エンコードできます
最後に、まだ解決されていない問題があります。 Apache もページも時間が指定されていない場合、どうなるのでしょうか?
http://www.bkjia.com/PHPjc/328117.html
www.bkjia.com