php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法

前端技术 2023/09/05 PHP

错误提示
Invalid byte 1 of 1-byte UTF-8 sequence
原因分析
在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以GBK格式来保存的,所以这也就是为什么能够我们使用GBK、GB2312编码来生成xml文件能正确的被解析,而以UTF-8格式生成的文件不能被xml解析器所解析的原因。

把xml的encoding属性值UTF-8改为UTF8
org.xml.sax.SAXParseException: Content is not allowed in trailing section
把先要解析和字符串trim()一下即可解决问题。
解决:
1、最简单就是把<?xml version=\"1.0\" encoding=\"UTF-8\"?>改成<?xml version=\"1.0\" encoding=\"gbk\"?>
2、或者把xml打开另存的时候把字符集改为UTF-8后保存
或改程序

复制代码 代码如下:

 SAXReader reader = new SAXReader(); 
  org.dom4j.Document document = reader.read(\"D:\\ha.xml\"); 
  OutputFormat of = new OutputFormat(); 
  of.setEncoding(\"UTF-8\"); //改变编码方式 
XMLWriter writer = new XMLWriter(new FileWriter \"d:\\dom4j.xml\"), of);
 

本文地址:https://www.stayed.cn/item/13224

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。