jsp中页面传值,数据库读写乱码的解决方案

1.每个页面都要加<%request.setCharacterEncoding("gb2312");//解决传递过程中中文问题%>.

2.<meta http-equiv="Content-Type" content="text/html; charset=gb2312">//用来解决页面汉字问题

3.写一个中文转码方法。把变量里的文字都声明为iso-8859-1

<%!
public String getStr(String s)
{
String str=s;
try
{
byte b[]=str.getBytes("ISO-8859-1");
str=new String(b);
return str;
}
catch(Exception e)
{return null;}
}
%>
jsp中专用的解决中文乱码问题函数,你把得到的数据用他先转一下,

<%=getStr(String srs.getString("news"))%>

4.这个类是转unicode的,我没有用过,也不知道效果。

import java.io.UnsupportedEncodingException;

/******************************************************
 * <p>Title: MRX's Utility Package</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: </p>
 * @author mrx [[email protected]]
 * @version 1.0
 ******************************************************/

public class ChineseUtility {

  public ChineseUtility() {
  }

  public static String UnicodeToChinese(String str){
    try{
      if (str==null || str.equals("")) {
        return "";
      }
      else{
        String newStr=null;
        newStr=new String(str.getBytes("ISO8859_1"),"gb2312");
        return newStr;
      }
    }
    catch(UnsupportedEncodingException e){
      e.printStackTrace();
      return str;
    }
  }

  public static String ChineseToUnicode(String str){
    try{
      if(str==null || str.equals("")) return "";
      String newStr=null;
      newStr=new String(str.getBytes("gb2312"),"ISO8859_1");
      return newStr;
    }
    catch(UnsupportedEncodingException e){
      return str;
    }
 

}

你可能感兴趣的:(jsp中页面传值,数据库读写乱码的解决方案)