这几天在做java的ssh框架整合开发时,经常发现添加和修改数据时有乱码问题,现给出以下几种解决方案:
1.action类代码示例
public String update() {
String username = null;
String adress = null;
try {
username = new String((employer.getUsername().getBytes("ISO8859-1")), "UTF-8");
adress = new String((employer.getAdress().getBytes("ISO8859-1")), "UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO: handle exception
e.printStackTrace();
}
employer.setUsername(username);
employer.setAdress(adress);
employerService.update(employer);
return "success";
}
示例给出的是在action类写修改数据时用的强制装换,这套目前来看最行之有效。
2.修改web.xm文件
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
在web.xml文件中给出拦截代码。
3.struts.xml中也可配置
<constant name="struts.i18n.encoding" value="UTF-8" />