码迷,mamicode.com
首页 > 编程语言 > 详细

【Java】【41】中文传参乱码问题

时间:2019-08-11 23:16:45      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:url   cto   中文字符   blog   decode   ram   统一   prot   参数   

前言:

有时候前端传递中文参数到后台会出现乱码,需要解决这一问题

正文:

方法一:前后端同时做处理

前端:

var param = "中文";
encodeURI(param);

后端:

String param = URLDecoder.decode(param, "utf-8");

方法二:过滤器

前后端同时处理过于麻烦,所以就想可不可以统一在一个地方处理

1,设置Tomcat编码格式

但是发现只对get方法有效

<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"  redirectPort="8443" useBodyEncodingForURI="true"/>

2,添加过滤器到项目的web.xml

<filter>
    <filter-name>setCharacterEncodingFilter</filter-name>
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
       <param-name>encoding</param-name>
       <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>setCharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

参考博客:

更改Tomcat字符编码设置及解决post请求中文字符乱码 - minolk的博客 - CSDN博客
https://blog.csdn.net/minolk/article/details/83214714

 

【Java】【41】中文传参乱码问题

标签:url   cto   中文字符   blog   decode   ram   统一   prot   参数   

原文地址:https://www.cnblogs.com/huashengweilong/p/11337057.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!