ajax 在Firefox正常,但IE不正常的问题。

自重装服务器以来,把网站从apache迁移到nginx,就为了这Ajax的问题折腾了几天,现在终于把问题解决了。

IE真是强大的浏览器,最近做的Ajax应用每次在IE下都运行不了,报错是这样一个神奇的c00ce56e。上网Google后得到了M$网站的一个说明,http://support.microsoft.com/kb/304625/zh-cn。大致是说,由于编码错误,M$不能识别XMLHttpRequest的内容。至于解决办法,上面也没有细说。后来想想,是说了也看不懂。

折腾了一中午,才知道原来是因为IE不认识utf8或者ISO8859_1,IE只认识utf-8和ISO8859-1,千万不要小看那一-。我以前一直困惑utf8和utf-8有什么区别,但是一直都没有遇到实际的问题,几乎所有的程序都既认识utf8又认识utf-8。而IE的使用的Mlang.dll中终于成了第一个不认识utf8的软件。把charset一改,一切都迎刃而解了。

很久没到javaeye为了这问题,特记下来。

相关推荐