Heim  >  Artikel  >  php教程  >  Invalid byte 1 of 1-byte UTF-8 sequence解决办法

Invalid byte 1 of 1-byte UTF-8 sequence解决办法

WBOY
WBOYOriginal
2016-05-25 16:52:002104Durchsuche

错误提示: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、最简单就是把改成

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

我使用的是eclipse编辑器如下操作即可,可以在Eclipse中更改,在 eclipse 的功能表 [Project]→[Properties],?? [Resources],在右?的「Text file encoding」,把原?硎窍到y??的??,改? 「UTF-8」。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn