首页 > 其他 > 详细

关于乱码的问题

时间:2019-05-12 22:42:37      阅读:145      评论:0      收藏:0      [点我收藏+]

今天又遇到一个乱码的问题,现在做一个简单的总结:

1,如果你测试的时候发现前端传过去的值没有乱码,就检查后端是否乱码,通常是打断点查看。

如果发现传入后端的 值乱码了,有好几种解决办法,下面主要写几个简单的解决办法:

一,request.setCharacterEncoding("utf-8");//必须写在第一位,设置这样方式去读。这样中文就能够读取出来了,但是需要注意。表单的发送方式必须是method=‘post‘

  response.setContentType("text/html;charset=utf-8");//设置传过去的页面显示的编码

  String name=req.getParameter("username");

  String pwd=req.getParameter("pwd");

或者针对某个参数使用str= java.net.URLDecoder.decode(str,"UTF-8"); 进行乱码处理

二,需要修改web.xml里面的内容,就是说,字符编码从xml接收过来。需要在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>

2,如果你发现前端,后端的值都没有乱码,但是插入到mysql数据库后乱码了,那是因为你的配置中少了一行代码,配置参考如下:

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8

关于乱码的问题

原文:https://www.cnblogs.com/zhangliang88/p/10853906.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!