关闭

Java异常: "2 字节的 UTF-8 序列的字节 2 无效。"的解决方案

标签: Javatomcatxmlutf-8异常
314人阅读 评论(0) 收藏 举报
分类:

在启动Tomcat时, 出现以下的异常:

七月 13, 2017 6:49:42 下午 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.2.10 using APR version 1.5.2.
七月 13, 2017 6:49:42 下午 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
七月 13, 2017 6:49:42 下午 org.apache.catalina.startup.Catalina load
警告: Catalina.start using conf/server.xml: 
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanData(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanComment(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanComment(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1685)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:562)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
七月 13, 2017 6:49:42 下午 org.apache.catalina.startup.Catalina load
警告: Catalina.start using conf/server.xml: 
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanData(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanComment(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanComment(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
	at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1685)
	at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:582)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
七月 13, 2017 6:49:42 下午 org.apache.catalina.startup.Catalina start
严重: Cannot start server. Server instance is not configured.


如下, 以下问题肯定出现在Tomcat目录下的server.xml文件中:


话不多说:

解决方案(推荐第一种):

1. 仔细查看Tomcat安装目录下的server.xml文件(本人安装路径为: D:\apache-tomcat-6.0.48\conf\server.xml), 将里面可能出现的中文注释全部删除掉;


2. 将原xml文件首行: <?xml version="1.0" encoding="UTF-8" ?>

修改为

<?xml version="1.0" encoding="GBK"?>即可.


总结思考:

在遇到问题时, 千万不要怕! 因果循环, 任何问题出现, 一定有其发生的原因!

解决问题的思路,远比解决问题的手段更重要。

尤其, 遇到这样的问题时, 首先, 我们就要认真地看报错信息, 寻找问题发生的根本所在, 一些英文信息没有那么可怕,

同时也可以借助翻译软件来帮忙, 然后再是仔细想想自己之前做过什么操作, 是什么时间节点后出现这个问题,

如果实现不行, 就借助搜索引擎! 当然, 自己在搜索的过程中, 也一定要思考, 如"UTF-8 ", "字节"等等信息, 我们就可以考虑到, 有可能是编码的问题!


个人博客:(一个正在认真学习Java的大二学生)
博客地址



1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

异常: 2 字节的 UTF-8 序列的字节 2 无效。

详细异常:十二月 08, 2015 7:16:55 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.servic...
  • u012116457
  • u012116457
  • 2015-12-09 12:47
  • 10960

1 字节的 UTF-8 序列的字节 1 无效

1 字节的 UTF-8 序列的字节 1 无效
  • XingKong22star
  • XingKong22star
  • 2015-09-15 16:40
  • 2662

3 字节的 UTF-8 序列的字节 3 无效

关键错误信息如下所示: Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreExce...
  • fei1990811
  • fei1990811
  • 2016-05-27 15:57
  • 12699

maven-war-plugin的乱码问题 (3 字节的 UTF-8 序列的字节 3 无效)报错

最近用到maven-war-plugin这个插件来进行打包,但是打完包启动tomcat会遇到这个报错: org.springframework.beans.factory.BeanDefinition...
  • li295214001
  • li295214001
  • 2016-08-08 17:40
  • 1401

solr使用过程中遇到的一些问题

1.solr部署到tomcat报错 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 U...
  • qq_37545366
  • qq_37545366
  • 2017-03-08 09:04
  • 1576

3 字节的 UTF-8 序列的字节 3 无效

Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: IOExce...
  • zhouzhiwengang
  • zhouzhiwengang
  • 2017-05-08 19:34
  • 444

UTF-8中汉字的字节长度

1、美国人首先对其英文字符进行了编码,也就是最早的ascii码,用一个字节的低7位来表示英文的128个字符,高1位统一为0; 2、后来欧洲人发现尼玛你这128位哪够用,比如我高贵的法国人字母上面...
  • urbanvice
  • urbanvice
  • 2014-09-17 16:17
  • 889

多字节编码字符串与UTF8字符编码的转换

1、多字节编码字符串转UTF8字符编码
  • suxinpingtao51
  • suxinpingtao51
  • 2014-09-10 14:09
  • 2012

Java中的UTF-8、UTF-16编码字符所占字节数

前言:上一篇文章写了关于Unicode,以及utf-8、utf-16相关知识。所以本篇博文来验证在java环境下,字符在不同编码下所占的字计数。 测试代码如下:package string;publi...
  • worm0527
  • worm0527
  • 2017-05-01 23:19
  • 1349

【C语言】字节对齐和边界对齐

一、什么是字节对齐   现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各...
  • weixin_38239856
  • weixin_38239856
  • 2017-04-21 00:39
  • 456
    个人资料
    • 访问:24071次
    • 积分:1056
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:10篇
    • 译文:0篇
    • 评论:11条
    个人说明
    个人很喜欢的一句话, (摘自网络):
    时光荏苒,祝愿不要忘记曾经的初心

    本人现在是一名大二软件工程专业的学生, 每月会坚持更新, 本博客会总结, 整理, 分享个人学习的相关技术知识, 用来记录自己不断进步的历程, 当然内容会以Java为主线.

    虽然是技术博客, 但毕竟是人, 也有自己的情感, 所以, 有时也会分享一些有用的学习资源和一些学习经验和方法, 同时也会写一些其它方面上自己的感受和想法!

    或许我的博客不是写得非常好, 但每一篇文章绝对会用心写! 如果, 你发现有不足或者错误之处, 非常欢迎指出, 当然也欢迎各位小伙伴们来交流技术和学习感受.

    每天进步一点点, 共勉!

    博客专栏
    最新评论