我写了一个Servlet,用其向html页面输出一句话(注意:其中有中文),显示错误;
Servlet的service方法:
protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
response.setCharacterEncoding("GB2312");
ServletOutputStream out=response.getOutputStream(); //输出到客户端
out.println("<title>Servlet的service方法</title>");
out.println("显示:I am in Service()");
}
错误信息:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception reportmessage
description The server encountered an internal error () that prevented it from fulfilling this request.exception java.io.CharConversionException: Not an ISO 8859-1 character: 的
javax.servlet.ServletOutputStream.print(ServletOutputStream.java:89)
javax.servlet.ServletOutputStream.println(ServletOutputStream.java:242)
sql.com.ServiceServlet.service(ServiceServlet.java:19)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
我找不到是哪的编码出了问题,
哪位高手给指导指导啊!!!!!!!
Servlet的service方法:
protected void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
response.setCharacterEncoding("GB2312");
ServletOutputStream out=response.getOutputStream(); //输出到客户端
out.println("<title>Servlet的service方法</title>");
out.println("显示:I am in Service()");
}
错误信息:
HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception reportmessage
description The server encountered an internal error () that prevented it from fulfilling this request.exception java.io.CharConversionException: Not an ISO 8859-1 character: 的
javax.servlet.ServletOutputStream.print(ServletOutputStream.java:89)
javax.servlet.ServletOutputStream.println(ServletOutputStream.java:242)
sql.com.ServiceServlet.service(ServiceServlet.java:19)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
我找不到是哪的编码出了问题,
哪位高手给指导指导啊!!!!!!!
PrintWriter out = response.getWriter();
out.print("内容");
out.flush();
out.close();
out = null;
response.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
out.print("内容");
out.flush();
out.close();
out = null;
是可以输出,但编码不对啊!!!!
好像是Unicod(UTF-8) 怎样变为GB2312编码啊?(response.setCharacterEncoding("gb2312");怎么不起作用啊)
另外,我如果想用我原来的方法(即ServletOutputStream out=response.getOutputStream();),有没有办法改正啊!!!