php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
发布时间:2016-12-29 来源:查字典编辑
摘要:错误提示Invalidbyte1of1-byteUTF-8sequence原因分析在中文版的window下java的默认的编码为GBK,也就...

错误提示

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);

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类