在保证jsp,xml,数据库,编辑器编码一致的状况下。html
1,用户输入中文,后台接收到也是中文,可是保存到数据库时乱码,mysql
解决方法:ajax
连接数据库的url="jdbc:mysql://localhost:3306/lr"spring
加上编码设置,修改成:url="jdbc:mysql://localhost:3306/lr?characterEncoding=UTF-8"sql
且在配置数据库链接池时加上一个配置项:useUnicode="true"数据库
2,用户输入中文,get方式请求后台获取内容乱码,这个通常状况下是服务器的编码设置的问题,服务器
解决方法:app
在服务器的server.xml配置项的:jsp
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />编辑器
加上编码配置,修改成:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true"/>
3,ajax后台返回到前台时中文乱码,
解决方法:
在spring MVC的Controller:
@RequestMapping(value = "xxxx", method = RequestMethod.GET)
public @ResponseBody String a(@RequestParam("email") String email) {
return "我是返回给前台的中文字符串";
}
加上produces = "text/html;charset=UTF-8",修改成:
@RequestMapping(value = "xxxx", method = RequestMethod.GET, produces = "text/html;charset=UTF-8")
public @ResponseBody String a(@RequestParam("email") String email) {
return "我是返回给前台的中文字符串";
}
以上就是目前遇到的乱码问题解决办法,至于其余的乱码,大部分多是先后台编码不一样意形成的,
只要一开始将显示层,配置信息,编辑器和数据库等各处的编码方式设置统一了,遇到乱码问题仍是不多的。