Java41中文传参乱码问题

Posted huashengweilong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java41中文传参乱码问题相关的知识,希望对你有一定的参考价值。

前言:

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

正文:

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

前端:

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

 

以上是关于Java41中文传参乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

前台传参到后台中文乱码解决方法

java Struts2 url 传参 中文乱码

关于页面传参到后台中文乱码的处理

JS传参中文乱码问题.NET

get请求中url传参中文乱码问题

关于url传参中文乱码问题