jap页面的正常中文显示只需要加入以下字段:
首先讲发生这种问题的原因,大家知道jap是基于Servlet技术的,我们自己写一个Servlet需要输出中文时需要设置字符集:response.setCharacterEncoding("gb2312")或者response.setCharacterEncoding("GBK"),jsp文件都是需要web服务器编译为java文件的,其实就是一个Servlet,如果在jsp中做了以上设置,那么当前jsp编译后的Servlet文件就不会存在输出问题。
当我们从页面将字符传递到Struts的ActionServlet时其中的request为默认字符集接收方式即“ISO-8859-1”,现在我们只需要在ActionServlet处理字符前将其中的request设置为"gb2312"或者"GBK"即可。我的设置方法为继承ActionServlet并重写process()方法。
中文问题二:jsp中的超级链接参数如果存在中文字符,以上办法就无法处理了,本人目前只想到一个蹩脚办法,就是再接收到中文参数的乱码后将其转换为正常。方法如下;
String inName = request.getParameter("name");
String outName =new String(inName.getBytes("ISO8859-1"),"gb2312");
另外可以试试修改jsp页面设置即为:< % @ page contentType="text/html; charset=gb2312" % >
现在该环境可以正常使用了。Weblogic等他WebServer我没试过,有机会再试了。
本文介绍在Tomcat和Struts环境下处理中文的具体方法,包括设置字符编码以确保正常显示,解决请求参数中的中文乱码问题,以及通过重写ActionServlet的process方法来统一字符集。

被折叠的 条评论
为什么被折叠?



