xml encoding="GB2312" 内容无法为中文?

新手上路,请多包涵

最近在学习js解释xml文档,发现当xml文档encoding="GB2312"时,无法出现中文内容,否则会报字符非法错误,如下图
image
当我把encoding改为utf-8,即使出现中文也不会报错。
下面是html代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>原生JS操作XML文件</title>
</head>
<body>
<script>
function loadXMLDoc(xmlFileName) {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest;
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", xmlFileName, false);
xmlhttp.send();
return xmlhttp.responseXML;
}
xmlDoc = loadXMLDoc("../发票.xml");
console.dir(xmlDoc)
x = xmlDoc.documentElement.childNodes;
document.write("节点总数是" + x.length);
</script>
</body>
</html>

发票.xml

<?xml version="1.0" encoding="GB2312"?>
<Data INFO="YIKAIFAPIAO">
    <YKFP>
        <Row 开票日期="2021-02-07" num="22639951" />
    </YKFP>
</Data>
阅读 3.8k
1 个回答

要看你實際 XML 的文件編碼是什麽,兩者要一致。


更新:发出请求页面也需与 XML 编码一致。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题