针对jsp和servlet:
解决办法:
第一:
在jsp页面加入:
<%@ page contentType="text/html; charset=gb2312" %>
或者在servlet里面
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html; charset=gb2312");//这是重要的
上面的如果在不行就用如下的方法在数据入库前进行调用:
public static String UnicodeToChinese(String s){
  try{
     if(s==null||s.equals("")) return "";
     String newstring=null;
     newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
     return newstring;
    }
  catch(UnsupportedEncodingException e)
  {
  return s;
  }
  }public static String ChineseToUnicode(String s){
  try{
  if(s==null||s.equals("")) return "";
  String newstring=null;
  newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
   return newstring;
  }
  catch(UnsupportedEncodingException e)
  {
  return s;
 }
  }3:)解决weblogic/webshpere中文问题:
在web.xml文件中需要配置中文环境。r如下:
<context-param>
  <param-name>weblogic.httpd.inputCharset./*</param-name>
  <param-value>GB2312</param-value>
</context-param>

解决方案 »

  1.   

    可能是weblogic中文有问题,需要配置
      

  2.   

    response.setContentType("text/html; charset=gb2312");
      

  3.   

    wjmmml(笑着悲伤) 说的很详细了
      

  4.   

    服务器的实现是不同的,有些服务器上字符不需要转换,有些需要
    对于weblogic我曾经试过,weblogic6.1sp1中文没有任何问题,不许要进行任何的转换,而以上的版本就不行了,中文参数不能正确的传输,可以写一个过滤器,使用request.setCharacterEncoding("GBK");将request的字符编码改为GBK或gb2312即可,这样不需要在每个jsp中进行字符转换;如果数据库的编码为GBK或GB2312,对于查询出来的数据不需要转吗。