说明:由于乱码问题造成的原因可能有很多种,而且不同的环境下面,结果也不一样。
本人一直致力于找出一套完整的,万能的解决方案,希望各位能够共同讨论。第一部分:
关于日文编码,目前比较使用的比较多的是Shift_js和windows-31J.Shift_js和windows-31J的区别,参见:http://blog.csdn.net/luyang1016/archive/2007/06/14/1652469.aspx对于一般表单提交的乱码,处理无非就是在jsp中加上3句话。<%@ page language="java" contentType="text/html;charset=Windows-31J"%>
表示jsp的编码是 Windows-31J<meta http-equiv="Content-Type" content="text/html; charset=SJIS">
表示jsp上固定项目,是SJIS的,固定项目既然是固定字符,一般无需用Windows-31J<% request.setCharacterEncoding("Windows-31J"); %>
这个request都给他设上编码以上处理,紧紧是最简单的处理,据说可以通过web.xml的配置来进行管理的,如何配置web.xml,暂时没研究过。
第二部分:
关于url里面传递日文参数造成的乱码问题解决方案一般将所需要做为参数的字符窜进行转码就可以了例子:     String param1= URLEncoder.encode( “陸楊”,"Windows-31J");
   
特别注意:  对于 encode过的字符集,按照道理来说是需要URLDecoder.decode()解析之后才能使用的。
但是好像在下一个画面中使用   :request.getParameter("param1"); 得到的结果还是"陸楊"
不知道是不是servelet内部已经作过转换了。
这个问题希望高人予以赐教。如果上面的解决方案不能解决你的问题,而且你有是使用tomcat作为Apserver的话,
可以尝试一下下面的方法解决。
            在tomcat的server.xml中,加入URIEncoding="Windows-31J
  <!-- Define a non-SSL Coyote HTTP/1.1 Connector on the port specified during installation  -->
    <Connector   port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000" 
               disableUploadTimeout="true" URIEncoding="Windows-31J"/>
以上方法仅供参考。
问题希望高人予以解答,不甚感激