部署到tomcat服务器上的javaweb项目中,遇到 前端向后台传值时, 发生中文乱码问题的解决办法
一、
js中值类型转换:
var reservename=encodeURIComponent(JSON.stringify(result),"utf-8");//这里将对象转换为json格式,然后在用encodeURIComponent来设置编码
后台java 值类型转换:
String reservename = request.getParameter("reservename");
studentRuselt=URLDecoder.decode(reservename,"UTF-8");
二、
在 web.xml 部署 过滤器 即
<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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
复制到web.xml 中。
第二步:查看 本地tomcat目录下 conf 下 的sever.xml 找到一下代码位置,进行比对 ,如果缺少 UTF-8的编码规范,复制粘贴即可。
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />