这是本人自己开发经验以及从网上罗列的一些解决方法:
前端提交类似这样的数据:
upProject!ajaxcheckTime.action?reservename=”+encodeURIComponent(reservename)+”&reservestart=”+reservestart+”&reserveend=”+reserveend
- 1:页面到Action
分别在 jsp,struts.xml,以及tomcat的conf文件夹下找到server.xml中配置如下:
jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
struts.xml:
<constant name="struts.i18n.encoding" value="UTF-8"></constant>
server.xml:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" URI="UTF-8"/>
- 2:添加到数据库的时候是乱码
配置数据源的指定连接格式,并且数据库的属性中字符集编码也为utf-8
<property name="url" value="jdbc:mysql://192.129.139.25:3306/ssm?characterEncoding=UTF-8&characterSetResults=UTF-8"/>
- 3:若前面两种还是不行的话,试试在js中以及后台进行转码
js:
var reservename=encodeURIComponent(JSON.stringify(result),"utf-8");//这里将对象转换为json格式,然后在用encodeURIComponent来设置编码
后台java:
String reservename = request.getParameter("reservename");
studentRuselt=URLDecoder.decode(reservename,"UTF-8");
应该常见的就这些了吧~~