问题描述
在web.xml文件中已经通过CharacterEncodingFilter过滤器处理了中文乱码,不是乱码问题,推测出应该是前台通过 post 提交数据后,后台读取到的requestbody中文被浏览器解析了
浏览器中的请求体

后台获取的信息

解决方法
requestBody=java.net.URLDecoder.decode(requestBody, “UTF-8”);
通过该方法重新编码为UTF-8,注意抛出异常
@RequestMapping("/testRequestBody")
public String testRequestBody(@RequestBody String requestBody) throws UnsupportedEncodingException {
String requestBody_decode = URLDecoder.decode(requestBody, "UTF-8");
System.out.println("requestBody:"+requestBody_decode);
return "success";
}

博客内容讲述了在Web开发中遇到的一个问题,即POST请求的中文数据在后台被浏览器错误解析导致乱码。作者通过检查web.xml的CharacterEncodingFilter排除了过滤器配置问题,并发现乱码问题可能出现在前端提交到后台的数据解析阶段。为了解决这个问题,博主使用了`java.net.URLDecoder.decode()`方法对请求体进行重新编码,将UTF-8编码的请求体正确还原,从而成功解决了中文乱码的问题。
4万+

被折叠的 条评论
为什么被折叠?



