URLクエリ文字列内で提供される特殊文字(ドイツ語のアクセント付き文字)を表示しようとすると、Internet Explorer、特にIE9で奇妙な問題が発生します。これはFirefoxとChromeで期待どおりに機能しています。
たとえば、使用しているURLは次のようになります。
http://mysite.com/TestPage.aspx?Title=Hochauflösendes®
また、URLエンコードされたバージョンのURLを試しました。
http://mysite.com/TestPage.aspx?Title=Hochaufl%C3%B6sendes%C2%AE
いずれの場合も、を使用してその「タイトル」クエリ文字列値をページに表示しようとするとRequest.QueryString["Title"]
、IEは文字を正しく表示しません。
Hochaufl�sendes�
テキストをページに直接ハードコーディングすると、すべてのブラウザで正しく表示されます。問題が発生するのは、クエリ文字列から取得する場合のみです。
ページはUTF-8エンコーディングとして保存されmeta
、必要に応じてページにタグがあります。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
また、Fiddlerを介してページのヘッダーとコンテンツを確認しましたが、すべてのエンコードが正しいです。
IEが特殊文字を正しく表示しない原因は何ですか?