j2ee设计的起初并不支持中文编码,因此,当项目中存在中文字符信息是时,一定要注意乱码问题。
乱码导致的问题往往是隐含,信息验证错误,不一致等,当发生错误时可以考虑有无乱码问题;
乱码产生的根源:编码和解码不一致;
解决乱码问题三种方案:
1、重新转码:new String(str.getBytes("iso-8859-1"),"gb2312");
可以用静态类实现该功能:如Tools.CodeConvert(input);
public class Tools(){
public static String codeConvert(String input){//input即将要转换的字符串
return new String(input.getBytes("iso-8859-1"),"gb2312");
}
}
2、使用过滤器来解决(以后讲解);
3、修改配置文件,通过配置server.xml文件(不太稳定)(尤其是在服务器配置中)
在<Connector>元素中添加属性URLEncoding=”gb2312”或GBK
当request得到的是乱码,可以这样解决:
Name=new String(request.getParameter(“userName”).getBytes(“ISO-8859-1”),”gb2312”);