状況: かなり大規模な Web サイト (Windows Server 2003) を所有しており、UTF-8 のみを使用するように標準化したいと考えています。現在、あらゆる種類の文字エンコーディングを使用しており、特定のページに正方形が表示され始めた後、使用するデータベースを含め、使用する文字エンコーディングは 1 つ (utf-8) のみであると判断しました。これは、ウェブサイトを維持しやすくするためです。すべてを utf-8 に変更した後、新しい正方形が表示されても問題ありません。それを何らかの方法で修正する必要があります (もちろん、文字エンコーディングを変更する必要はありません)。
文字エンコーディングをutf-8に設定するhttp応答ヘッダーを追加しました。ブラウザのウェブサイト オプションに、utf-8 が表示されるようになりました。
問題は、.css ファイルが機能しなくなったように見えることです (タグを使用すると、その場で .css を指定でき、機能します)。これらの行を削除すると:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
.css ファイルには効果がありますが、応答ヘッダーを変更する前と同じようにフォントが表示されません。また、これらの行を削除したくありません。
utf-8 に設定すると、.css ファイルのリンクが使用されなくなる可能性はありますか? BOM と文字エンコードのエディターのオプションを変更しようとしましたが、問題を解決できません。私は何を間違っていますか?おそらく、その応答ヘッダーを追加して、まったく異なる方法で Web サイトを標準化するべきではないでしょうか?
編集:新たに発見:前に文字を追加すると
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN
ラインそれは動作します! ここで何が起こっているのか知りたいです。