乱码解决方案有三种:
1:重新转码:new String(name.getBytes("iso-8859-1"),"gb2312")
2:使用过滤器来解决
3:通过配置server.xml文件
/**
方法一
在数据库中存的数据时汉字,但在页面显示的是乱码。
可以写一个简单的java类,转化字符的编码,代码如下:
*/
public class CharTools {
public static String newString(String input_str) {
String result_str = "";
try{
result_str = new String(input_str.getBytes("ISO-8859-1"),"gb2312");
}catch(Exception e) {
e.printStackTrace();
}
return result_str;
}
}
或者:
name=new String(request.getParameter("username").getBytes("ISO-8859-1"),"gb2312");
方法二
修改tomcat中server.xml中的配置
修改前:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改后:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URLEncoding="GBK"/>
方法1稳定,但是麻烦,方法2不稳定
1:重新转码:new String(name.getBytes("iso-8859-1"),"gb2312")
2:使用过滤器来解决
3:通过配置server.xml文件
/**
方法一
在数据库中存的数据时汉字,但在页面显示的是乱码。
可以写一个简单的java类,转化字符的编码,代码如下:
*/
public class CharTools {
public static String newString(String input_str) {
String result_str = "";
try{
result_str = new String(input_str.getBytes("ISO-8859-1"),"gb2312");
}catch(Exception e) {
e.printStackTrace();
}
return result_str;
}
}
或者:
name=new String(request.getParameter("username").getBytes("ISO-8859-1"),"gb2312");
方法二
修改tomcat中server.xml中的配置
修改前:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改后:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URLEncoding="GBK"/>
方法1稳定,但是麻烦,方法2不稳定