我有一個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