靠谱的软件下载站
当前位置:  IEfans/IE专区/IE相关/AJAX应用在IE浏览器中报错c00ce56e

AJAX应用在IE浏览器中报错c00ce56e

IE相关 互联网 2010-07-03 阅读(2838)
相信大家都有碰到过IE浏览器在AJAX应用中,会因为客户端与服务端的编码不一致而导致一个错误:“由于出现错误 c00ce56e 而导致此项操作无法完成。”而在其他非IE浏览器上测试都没有问题。看来IE浏览器在读取编码的时候比其他浏览器要严格很多。 然而很多时候,编码不一致的问题我们都能提前意识到,因为这样的问题可能曾经无数次困扰过我们了。即便是事后补救,我们也能迅速定位到问题,并很快解决。恰恰是一些小错误让我们痛不欲生,因为这些小错误极其隐蔽,它在我们固有的思维中又很难去发觉他们。 例如:“utf8”、“UTF8”等等不规范的写法。又或者我今天所碰到的这种情况: view sourceprint?1 iconv_set_encoding("internal_encoding", "gbk"); iconv_set_encoding("output_encoding", $conf['encode'].'//IGNORE'); ob_start('ob_iconv_handler'); 以上代码会将输出从 gbk 转换成我配置文件中所设置的编码(utf-8),而我的ajax请求所返回的结果也会经过这里。 注意第二条语句中的 ‘//IGNORE’,问题就出在该条语句不支持这种附加参数(常用于iconv()),所以PHP就会将 ‘utf-8//IGNORE’ 当成一种编码进行转换,并发送给浏览器

AJAX的编码定义

而浏览器并不认识这种叫做’utf-8//IGNORE’的编码,因此就会用默认的编码来代替。Firefox默认使用的是UTF-8的编码,所以在Firefox下是正常的。而IE的默认编码是GB2312,所以这段AJAX应用在IE浏览器中便会报错。 还有AJAX用GB2312的编码在IE浏览器中也比较容易出错,记得以前用AJAX的时候(asp+javascript),为了应对编码不一致,导致IE弹出提示的c00ce56e错误的情况,就在ASP的网页上面加入一行<%response.Charset="GB2312"%>的代码就可以解决这个问题,但是后来用IE8浏览器打开的的时候居然弹出错误提示,这源于IE8去掉了很多以前的编码格式,后来把那句代码的GB2312编码修改成<%response.Charset="GBK"%>即正常了。 部分资料来源:

标签:IE相关IE浏览器ajax

Copyright © 1998-2017 www.iefans.net All Rights Reserved 湘ICP备13012168号-17