中文乱码问题解决大全

乱码问题是我们常遇到的问题,现在将乱码问题做一个详细的总结。

首先我们要清楚参数的提交方式分为POST和GET两种方式。

POST乱码解决方式:

1、      原始的方式:

request. setCharacterEncoding("UTF-8");

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=utf-8");

      以上同时解决了参数传递时的乱码和参数回显时的乱码。

2、      编码过滤器

<filter> 

       <filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name> 

       <url-pattern>/*</url-pattern> 

</filter-mapping> 

 处理GET方式的乱码解决方案:

1、      在Tomcat中设置比编码格式

要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。

 <Connector port="8080" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="8443" URIEncoding="UTF-8" />

2、利用Java对格式进行转换

String agentnames = newString(req.getParameter("agentnames").getBytes("ISO-8859-1"),"utf-8");

3、      利用浏览器两次转码,Java中后台解码方式解决GET请求的乱码方式

前端: var str= encodeURI(encodeURI("转电话配置模板.xlsx")); 

后端     String file_name=java.net.URLDecoder.decode(str,"UTF-8");

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值