在JSP页面中有一段自定义的taglib, 如果遇到这个taglib中抛出了一个含有中文信息的异常,在页面中就会显示成乱码,抛出的语句如下:
throw new JspTagException( “错误信息” );在JSP中用out输出的中文是正常的,在taglib中用pageContext.getOut()输出的中文也是正常的,唯独从JspTagException中抛出的中文是乱码,请问应该怎么处理?查了weblogic的许多配置说明也没搞定我的操作系统是Windows XP, 如果用Tomcat,就一切都正常

解决方案 »

  1.   

    1.开发和编译代码时指定字符集为UTF-8。JBuilder和Eclipse都可以在项目属性中设置。 
    2.使用过滤器,如果所有请求都经过一个Servlet控制分配器,那么使用Servlet的filter执行语句,将所有来自浏览器的请求(request)转换为UTF-8,因为浏览器发过来的请求包根据浏览器所在的操作系统编码,可能是各种形式编码。关键一句:
    request.setCharacterEncoding("UTF-8")。
    3.在JSP头部声明:<%@ page contentType="text/html;charset= UTF-8" %>。 
    在Jsp的html代码中,声明UTF-8:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    4.设定数据库连接方式是UTF-8。例如连接MYSQL时配置URL如下:
    jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8
    一般数据库都可以通过管理设置设定UTF-8 
      

  2.   

    你最好试试第2点:
    在servlet控制器中request.setCharacterEncoding("UTF-8")。
      

  3.   

    自己解决了,用一个errorPage来处理