当前位置:首页 > PHP教程 > PHP高级教程

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

错误提示
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);
 



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!