request.setCharacterEncoding(“UTF-8”);在一些老旧版的Tomcat中只对post请求的参数有效,在Tomcat7中,该方法对get请求的参数也有效果,所以高版本的Tomcat可以使用第一种方式。
1.
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
2.
if(request.getMethod().equalsIgnoreCase("get")){
for (Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
String[] value = entry.getValue();
for (int i = 0; value != null && i < value.length; i++) {
value[i] = new String(value[i].getBytes(Charset.forName("ISO-8859-1")), Charset.forName("UTF-8"));
}
}
}else {
request.setCharacterEncoding("UTF-8");
}
response.setCharacterEncoding("UTF-8");