在我的一个asp.net应用程序中,我发现在Internet Explorer 9中产生了一种奇怪的行为,而IE8运行良好。
作为默认编码我需要utf-8。这很重要,因为我使用德语所谓的Umlaute,如“ÄäÖüÜü”。
首次加载页面时,IE9决定使用“西欧”编码。据我所知,这是ISO 8859-1,而且变形金刚改为奇怪的字母。 在第二次加载时,IE9正确使用utf-8。 在源代码中,我尝试了以下事项来告诉IE使用哪种编码:
<!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" lang="de">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
为什么IE9在首次加载时工作如此奇怪? 还有什么我可以尝试告诉IE9如何工作
答案 0 :(得分:1)
Firstable - 您托管站点的服务器可以在标头中返回错误的编码信息;
两个 - 也许是字符串中的一些失败在页面的标题中占用了编码(该字符串中的错误符号)。
三 - 在Hex brouser(例如WinHex)中打开你的页面并发布第一行代码(有时编辑器会在第一个字节中放置错误的数据,我偶然发现它一次)
如果此网站已在线发布,请发布网址,我会尝试找到问题。
答案 1 :(得分:0)
检查服务器的响应头,它必须包含以下内容:
关键值
Content-Type text / html;字符集= UTF-8
响应HTTP / 1.1 200确定
如果不是,那么检查服务器设置或代码必须有Content-type标题更改的位置
编辑:好的,编码是正确的,正如评论中建议的那样,你应该先检查你的响应字节,看起来它是以附加字节开头的(通常是关于编码的信息)