ローカルのvalidator.nuインスタンスを使用してサイトを検証していますが、エンコーディングが一致しないと通知され続けます。
内部エンコーディング宣言「iso-8859-1」は、ドキュメントの実際のエンコーディング(「utf-8」)と一致しません。
このエンコーディングを必要とするレガシーDBを使用しているため、エンコーディングをiso-8859-1に強制するためにあらゆることを行いました。
- 力を開始するプロセス
LANG='iso-8859-1' file.encodingTomcatの起動を強制します。これは、どのレポート-Dfile.encoding=iso-8859-1をチェックするかによって確認されます。Charset.defaultCharset()ISO-8859-1- Mavenプロジェクトのリソースは次のようにコピーされ
iso-8859-1ます:<project.build.sourceEncoding>iso-8859-1</project.build.sourceEncoding> - JSP
pageディレクティブはエンコーディングを指定します:<%@page contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %> Content-Typeページヘッドに設定されています:<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">- Tomcat
URIEncodingセット:<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="iso-8859-1" redirectPort="8443" />
ページが戻ってくる原因となっている他に何を見逃したutf-8でしょうか?
興味深いことに、©のような文字を正しくレンダリングしており、©がテキスト入力に配置されている場合は、8859-1コードページを使用してDBに正しく保存されます。
更新:サーバーからcURLを使用してページをダウンロードし、検証に成功したw3チェッカーにアップロードすることにしました。唯一の問題は、名前の付け方でしたが、iso-8859-1これらwindows-12522つの文字セットは少し異なると思いましたが、このw3メーリングリストのエントリには別の言い方がありますが、それを調べる必要があります。
これは、私も調べていくvalidator.nuのバグのように見えます。