服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: 130-5800-8007
当前位置: 主页 > php教程 > php教程 >

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

时间:2016-02-01 09:52来源: 作者: 点击:
错误提示: Invalid byte 1 of 1-byte UTF-8 sequence 原因分析: 在中文版的window下java的默认的编码为GBK,也就是所虽然我们标识了要将xml保存为utf-8格式但实际上文件是以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);  
我使用的是eclipse编辑器如下操作即可,可以在Eclipse中更改,在 eclipse 的功能表 [Project]→[Properties],?? [Resources],在右?的「Text file encoding」,把原?硎窍到y??的??,改? 「UTF-8」。
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------