我有一个JavaScript做这个(HTTP是你的XMLHttpRequest对象)IE的responseXML.getElementsByTagName()无法处理非英文字符?
var r = http.responseXML.getElementsByTagName('item');
的问题是变量r始终是一个空列表如果响应包含非英语字符(r.length为0)。
的响应头设置正确 内容类型:文本/ XML的,字符集= ISO-8859-1
这是来自Web服务器的响应看起来像
<?xml version='1.0' encoding='UTF-8'?>
<d>
<r>
<item value="jmob" label="John Möb"/>
</r>
</d>
它只发生在IE(IE6和IE8)中,可以在Firefox和Chrome中使用。 如果项目只包含英文字符,它工作正常。
是否有解决方法?
或者,您*正在提供ISO-8859-1文档,并且<?xml'声明在说谎!通常HTTP头文件中声明的“charset”应该是“胜利”的,但你肯定不希望提供具有冲突字符集信息的XML。真的,你不想用UTF-8以外的任何东西来提供XML。 – bobince 2010-03-16 12:43:00
@bobince:合理的建议,谢谢你的加入。 – 2010-03-16 13:26:21