spring mvc中文乱码解决思路

引起乱码原因为spring mvc使用的默认处理字符串编码为ISO-8859-1,具体参考org.springframework.http.converter.StringHttpMessageConverter类中public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");

解决方法:

第一种方法:

对于需要返回字符串的方法添加注解,如下:

@RequestMapping(value="/getUsers", produces = "application/json; charset=utf-8")
public String getAllUser() throws JsonGenerationException, JsonMappingException, IOException
{
List<User> users = userService.getAll();
ObjectMapper om = new ObjectMapper();
System.out.println(om.writeValueAsString(users));
DataGrid dg = new DataGrid();
dg.setData(users);
return om.writeValueAsString(dg);
}

此方法只针对单个调用方法起作用。

第二种方法:

在配置文件中加入

<mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
   <bean class="org.springframework.http.converter.StringHttpMessageConverter">
     <property name="supportedMediaTypes" value = "text/plain;charset=UTF-8" />
   </bean>
  </mvc:message-converters>
    </mvc:annotation-driven>

时间: 2025-01-18 13:13:58

spring mvc中文乱码解决思路的相关文章

彻底解决Spring MVC 中文乱码 问题

目录(?)[+] 1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为UTF-8 form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果 [html] view plain copy <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> [html] view plain copy <

Spring Boot 中文乱码解决

第一步,约定传参编码格式 不管是使用httpclient,还是okhttp,都要设置传参的编码,为了统一,这里全部设置为utf-8 第二步,修改application.properties文件 增加如下配置: spring.http.encoding.force=true spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true server.tomcat.uri-encoding=UTF-8 此时拦截器中返回的中文

web开发实践中遇到的问题--spring mvc中文乱码

jsp页面中文输入,到controller乱码,这时候需要设置的是在web.xml文件中添加一个编码的过滤器(filter)将编码统一为UTF-8.代码: <!-- jsp提交中文表单,controller中解决中文乱码问题--> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.Char

Qt中文乱码解决思路

最近项目中遇到不少的Qt中文乱码的问题,主要原因是客户的需求比较多,Qt版本有用4的版本的也有用5的版本,并且还有windows与linux跨平台的需求.经常出现个问题是windows的解决了,源代码放到linux上编译不通过或者中文会乱码,本文主要是得出一个解决方案能解决Qt的中文问题,并支持不同平台与不同版本.下面我们通过下列场景中的问题来找寻答案: 场景1:Qt版本: Qt5.1.0_VS2012操作系统: win7 CPP文件编码: UTF8—无BOM格式CPP部分代码如下: QText

spring MVC中文乱码相关总结

总结几种方式,都使用的话能解决大多数乱码的情况 1.所有页面使用 <%@page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%> 2.服务器添加过滤器 <!-- 编码过滤器 --> <filter> <filter-name>characterEncoding</filter-name&

Spring MVC传值乱码解决

在web.xml中进行配置,加入以下代码: 1 <!-- 乱码解决 --> 2 <filter> 3 <filter-name>characterEncodingFilter</filter-name> 4 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 5 <init-param> 6 <para

解决Spring MVC中文乱码

在web.xml中设置编码过滤器 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name>

(转)spring mvc 中文乱码问题解决

在eclipse环境里,页面传输数据的时候通常用ISO-8859-1这个字符集可以用 str = new String(str.getBytes("ISO-8859-1"), "GBK"); 转码str是你页面得到的字符串,后面的表示从"ISO-8859-1"转到"GBK",或者你转成别的也可以 16:35 浏览 (1550) 评论 (2) 分类: 技术 收藏 相关推荐 评论chenlb 2007-09-09 回复 不好意思多

spring mvc中文乱码问题

如果是post,在web.xml中加上 < filter> < filter-name>CharacterEncodingFilter</filter-name> < filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> < init-param> < param-name>encoding</param-