1

最近、ドイツ語とオランダ語の文字を含む Web サイトをデザインしましたが、そのページで文字エンコーディング utf-8 を使用したいと考えています。

xml 宣言を追加しました。

<?xml version="1.0" encoding="UTF-8"?>

およびメタタグ:

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />

Web サイトをオンラインで表示したところ、ドイツ語のテキストにある特殊文字が正しく表示されませんでした。w3c バリデーターでページを検証しようとしたところ、次の警告が表示されました。

HTTP ヘッダーに指定された文字エンコーディング (iso-8859-1) が、XML 宣言の値 (utf-8) と異なります。HTTP ヘッダー (iso-8859-1) の値を使用します。

これはサーバーの問題ですか?同じファイルを別のサーバーにアップロードしただけで、ページはutf-8を使用して正しく表示されます。

ページを utf-8 としてエンコードする方法に関するヘルプやアドバイスをいただければ幸いです。

私は困惑しています!


jason のおかげで、mod_mime-defaults.conf という名前のファイルが見つかりました

このファイルには次のものが含まれます。

# AddDefaultCharset UTF-8
AddDefaultCharset ISO-8859-1

AddDefaultCharset UTF-8 の前から # を削除すると、これが役立つと思いますか? または、AddDefaultCharset ISO-8859-1 の前に # を追加することもできます。

このファイルを編集しようとしましたが、権限がないと思います。うーん…?

4

3 に答える 3

3

これはサーバーの問題である可能性があります。

Apache を使用している場合は、通常 *nix サーバーの /etc/httpd/conf/httpd.conf にある Apache 構成ファイルで、AddDefaultCharset.

この設定は、提供されるすべてのコンテンツのデフォルトを指定します。コメントアウトされている場合は、ブラウザまたは META 設定に依存して Charset を決定することを意味します。

于 2011-01-05T03:29:39.963 に答える
0

HTML メタ タグは、HTTP 応答ヘッダーと同じではありません。HTTP 応答ヘッダーで文字エンコーディングを設定する必要があります。質問履歴によると、PHP を使用している、または少なくともそれに精通している場合は、PHP を対象とした方法の例を次に示します。

文字をエコーするに、PHP ファイルに次の行を挿入します。

header('Content-Type: text/html;charset=UTF-8');

以下も参照してください。


問題とは関係ありませんが、XML宣言をHTMLページに置くべきではありません。これは、他の種類のトラブルのレシピです。

于 2011-01-05T03:27:46.970 に答える