张晨的个人博客

启动Tomcat报错/异常:MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence

张晨的个人博客2014-10-24综合技术 3710 0A+A-

启动tomcat报错如下:

MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence

原因是tomcat目录的conf下的server.xml配置文件中编码格式是:

<?xml version='1.0' encoding='UTF-8'?>


而在server.xml配置文件中用户自己添加了不是UTF-8编译的内容,比如本次博主报错的内容因为以下内容是从GBK编译的文件中复制出来的:

<Context docBase="E:\workspace\product\dist\target" path="/geap" privileged="true" reloadable="false" >

<Resource auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
	 maxActive="4" maxIdle="2" maxWait="5000" name="jdbc/OracleDS" 
	 password="Sql2" type="javax.sql.DataSource" 
	 url="省略" username="sa"/> 

<Resource auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
	 maxActive="4" maxIdle="2" maxWait="5000" name="jdbc/OracleDSBack" 
	 password="Sql2" type="javax.sql.DataSource" 
	 url="省略" username="sa"/> 

<Resource auth="Container" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
	 maxActive="4" maxIdle="2" maxWait="5000" name="jdbc/OracleDS_midd" 
	 password="Sql2" type="javax.sql.DataSource" 
	 url="省略" username="sa"/> 

</Context>


有两种解决办法:

1、把server.xml的编码从UTF-8修改为GBK:

<?xml version='1.0' encoding='GBK'?>


2、删除对应内容,手动写过即可解决问题。

 

发表评论