一个编码问题!!急!!从没遇到过的问题!!急

feiling111222 2009-05-28 02:29:50
我用MYELIPSE写了个项目
之前还好好的,可是一会就出了个问题
页面报错是这样的
org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:574)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
org.apache.jasper.xmlparser.UTF8Reader.invalidByte(UTF8Reader.java:621)
org.apache.jasper.xmlparser.UTF8Reader.read(UTF8Reader.java:310)
org.apache.jasper.xmlparser.XMLEncodingDetector.load(XMLEncodingDetector.java:1012)
org.apache.jasper.xmlparser.XMLEncodingDetector.skipString(XMLEncodingDetector.java:963)
org.apache.jasper.xmlparser.XMLEncodingDetector.scanXMLDecl(XMLEncodingDetector.java:1221)
org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:123)
org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:111)
org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:309)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:173)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:167)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinxfei 2009-05-28
  • 打赏
  • 举报
回复
估计楼主的文件在外边使用其它工具编辑过(比如:ultraedit)导致文件头被破坏,无法正确识别为UTF-8。

可以考虑将此文件备份,然后重新再MyEclipse中建立同名文件,将源文件的内容拷贝过去即可(拷内容,别拷文件)。
pxjjava 2009-05-28
  • 打赏
  • 举报
回复
如同楼上说的...说是不能编译..对进行编译无可奈何。。是编译你的一个jsp的时候报的错。应该是编码集那里不一致造成的。
不知道楼主的是那个jsp报的错。。帖出来看看,
  • 打赏
  • 举报
回复
[Quote=引用楼主 feiling111222 的帖子:]
我用MYELIPSE写了个项目
之前还好好的,可是一会就出了个问题
页面报错是这样的
org.apache.jasper.JasperException: Unable to compile class for JSP
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:574)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apach…
[/Quote]
root cause
java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence.
org.apache.jasper.xmlparser.UTF8Reader.invalidByte(UTF8Reader.java:621)
org.apache.jasper.xmlparser.UTF8Reader.read(UTF8Reader.java:310)
org.apache.jasper.xmlparser.XMLEncodingDetector.load(XMLEncodingDetector.java:1012)
错误的原因就是编码问题

应该是你的UTF8Reader.java:621错误楼主坚持一下
或者把代码贴出来看看

比如:
static InputStream String2InputStream(String str) throws Exception{
ByteArrayInputStream stream = new ByteArrayInputStream()
return stream;
}
需要改为
static InputStream String2InputStream(String str) throws Exception{
ByteArrayInputStream stream = new ByteArrayInputStream(str.getBytes("utf-8"));
return stream;
}
错误的原因是因为你的默认编码和你设置的utf-8格式编码不一致造成的
  • 打赏
  • 举报
回复
java.io.UTFDataFormatException: Invalid byte 2 of 2-byte UTF-8 sequence
编码不一致,好像我也遇到过,没管就解决了
weiluo12 2009-05-28
  • 打赏
  • 举报
回复
没见过
再运行一下以前看看

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧