1

これは私のページのヘッダーです:

<!DOCTYPE html> 
<html> 
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
...

ご覧のとおり、文字セットは utf-8 に設定されていますが、Chrome/Firefox はページを utf-8 として出力しません。これは、サーバーが次のヘッダーを送信するためだと思います。

Content-Type:text/html; charset=ISO-8859-15

HTMLページからこのヘッダーを上書きするにはどうすればよいですか?

4

3 に答える 3

6

できません。

HTTP ヘッダーは、同等であると主張するメタ要素よりも優先されます。

サーバー設定を修正して、正しいコンテンツ タイプが送信されるようにします。

于 2012-05-09T15:37:30.847 に答える
1

HTML ページから文字セットを上書きすることはできません。探すべきこと:

  1. Web サーバーがデフォルトの文字セットで構成されている場合があります。変更できるかどうかを確認します。警告: これは、特定の .xml のすべてのファイルに影響するグローバル設定である可能性がありますContent-Type

  2. HTML ドキュメントに文字どおりに入力したにもかかわらず、charset=UTF-8IDE/テキスト エディタが別の文字エンコーディングでドキュメントを保存している可能性があります。*nix を使用している場合は、次のようにコマンド ラインで任意のファイルのファイル エンコーディングを確認できます。

    file -I filename.html
    

    UTF-8そのコマンドの出力がまたは以外のものを報告する場合はus-ascii、IDE/テキスト エディタに戻って、保存するファイルの文字エンコーディングを として設定する方法を理解する必要がありますUTF-8。Web サーバーが文字エンコーディングを自動検出し、それに応じてヘッダーを設定している可能性があります。

于 2012-05-09T15:42:30.347 に答える
0

以下を含む .htaccess ファイルを追加することで、サーバー ヘッダーを変更できます。

AddDefaultCharset UTF-8
于 2012-05-09T15:53:49.317 に答える