java开发遇到的所有中文乱码总结
2023-10-26 15:50:02 232浏览
所有中文乱码总结
1.post请求乱码
需要加过滤器,设置utf-8
<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.get请求乱码
需要在Tomcat的server.xml里配置URIEncoding="utf-8"
3.log4j控制台打印中文乱码:
配置Tomcat VM options值为:-Dfile.encoding=UTF-8就可以
4. 请求响应中文乱码原始解决方法
req.setCharacterEncoding("UTF-8");
//resp指的是响应
resp.setContentType("text/html;charset=UTF-8");
resp.setCharacterEncoding("UTF-8");
5.ajax请求json数据中文乱码
案例:查看某个用户的详情的时候,想在当前页面局部刷新展示不跳页面增强用户体验
- 1.ajax返回中文乱码解决:
- 1.1中文乱码解决方法1
在@GetMapping里加produces = {"application/json;charset=UTF-8"}
- 1.2中文乱码解决方法2
springmvc配置文件加消息转换器的配置
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
- 1.3补充jackson的方式
其实直接使用jackson的三个jar包后,放回实体类型的json对象格式就不会出现中文乱码问题,springmvc默认内置的是jackson的消息转换器。
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
暂无评论,快来写一下吧
展开评论
他的专栏
他感兴趣的技术