在尝试显示 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 无法正确显示特殊字符?