写了一个war工程,放入到tomcat运行的时候,总是中文乱码,很纠结呀。
网页编码格式、servlet解析方法一通调试,最后发现解决办法很简单啊。
在doGet、doPost方法解析HttpServletRequest request参数的时候,使用
try {
request.setCharacterEncoding("UTF-8");// 设置request编码方式
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String value = request.getParameter(key);
try {
// 重新编码。因为中文乱码
value = new String(value.getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
log.error(e);
}