13

さて、何かがおかしくなりました。中国が私の iepage の私のテスト用 style.css ファイルから始めようとしない限り、彼らは IE を嫌って右足で始めていると思いますが、とにかく。スタイルシートなしで読み込まれます - 悲しい :( Web インスペクタにアクセスすると、リンクされたすべてのファイルが [おそらく] 漢字 (瑨汭笠ऊ楷瑤...) で埋め尽くされていることがわかります。サーバー上のファイルを削除しようとしましたが、再アップロード. ローカル ファイルは問題ないように見えます.ファイルを直接ロードすると問題なく見えます.レンダリングなどを変更する必要があることは何もしていません.

4

3 に答える 3

13

それでわかったと思います。これは奇妙です。とにかく。

あなたの HTML をコピーしてローカル ファイルに貼り付けて実験しました。そして、それはうまくロードされました。UTF-8で保存しました。それから UTF-16 に変更したところ、まさにあなたが見ているものを手に入れることができました! わかる限り、ブラウザー (私にとっては Firefox for Linux) は、リンクされたファイルがすべて HTML と同じエンコーディングであると想定しています...

したがって、サーバー上のファイルはUTF-16であると想定しており、UTF-8に変更すれば問題ありません。それが修正されることを願っています!

PS: Firebug によると、明示的に指定していなくても、 HTMLはサーバーによって圧縮されます。しかし、ありがたいことに、それは問題を引き起こしているようには見えません。

于 2012-08-30T05:13:26.797 に答える
3

iFrame に埋め込まれた PowerShell からエクスポートされた XML ファイルでも、同じ問題が発生しました。

IE10/11やEdgeでは問題ありませんでしたが、FirefoxやChromeではスタイルシートが読み込まれませんでした。

iFrame をロードする元のページは、スタイルシートと同じように UTF8 でエンコードされていました。ただし、XML ファイルは UTF16LE (PowerShell では「Unicode」) にエクスポートされました。XML ファイルが iFrame から読み込まれると、スタイルシートが漢字として読み込まれました。

PowerShellでエンコーディングを変換しました...

Get-Content C:\foldername\file.html -Encoding Unicode | Set-Content -Encoding UTF8 C:\foldername\file.html

...そしてうまくいきました!私の推測では、IE はすべてのファイルのエンコーディングを親と同じように処理する必要があります。これは、UTF16LE でエンコードされたファイルが UTF8 としてレンダリングされたことを意味します。Chrome と Firefox は明らかにそれを行いません。

私を正しい道に導いてくれたザビエル・ホルトに感謝します!

于 2015-10-29T17:25:37.993 に答える