在用jsp+struts2做个网站时,当要直接传中文字符到action中的方法总是出现乱码,在网上试了一些方法没有达到效果,一下两种方法是本人用过不会出现乱码的。
方法一:
public void setSingerGender(String singerGender) {
try {
this.singerGender = new String(singerGender.getBytes("iso-8859-1"),"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
这是在action 中的set方法中对 所需字段进行直接转换。
this.singerGender = new String(singerGender.getBytes("iso-8859-1"),"utf-8");
方法二:
在tomcat的server.xml中加入URIEncoding="utf-8" (网页的编码是utf-8)
听说这种方法也可以解决图片路径或者名称是中文的问题。
注意:这两种方法不要一起使用,不如中文字符就变成‘?’了。