使用@ResponseBody注解返回字符串乱码

方法一、在注解@RequestMapping 中添加 produces = {"application/json;charset=UTF-8"}

方法二、在配置文件中添加:

<mvc:annotation-driven>
        <!-- 解决返回String时乱码 -->
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

  

时间: 2024-10-26 15:07:38

使用@ResponseBody注解返回字符串乱码的相关文章

spring-mvc @responseBody注解返回中文乱码解决

在项目中能设置UTF-8基本都设置了,通过ajax请求后台的springmvc后返回中文字符串,页面显示???,解决办法是: 在方法中添加:produces = "text/html;charset=UTF-8". 具体添加位置如下: @RequestMapping(value="/getpersonLimitItemNameByDeptIdAndSglcheckid", produces = "text/html;charset=UTF-8")

解决spring-mvc @responseBody注解返回json 乱码问题

在使用spring-mvc的mvc的时候既享受它带来的便捷,又头痛它的一些问题,比如经典的中文乱码问题.现在是用json作为客户端和服务端 的数据交换格式貌似很流行,但是在springmvc中有时候会因为我们的各种疏忽从而造成页面ajax请求到的相应数据,如果带有中文常常是以 “????”显示,让人很恼火.在网上搜索后有很多解决的方案,方案都说中文乱码问题牵扯到springmvc的 StringHttpMessageConverter类,给出的答案都是自己去写个类继承它,然后用一堆眼花缭乱的配置

SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法

Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入 response的"Content-Type".一般的请求都是通过浏览器进行的,request heade

SpringMVC使用@ResponseBody注解返回中文字符串乱码的问题

先说一下我的经历,以及解决问题的而过程. 在使用SpringMVC的时候,最开始的时候在配置文件中使用<mvc:annotation-driven />去自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,这是spring MVC为@Controllers分发请求所必须的.再后来,Ajax请求需要返回字符串,遂在控制器上使用@ResponseBody注解来实现,这时候遇到的一个问题是,返回中文字符的

springmvc使用@responsebody返回字符串乱码问题

SpringMVC的@ResponseBody注解可以将请求方法返回的对象直接转换成JSON对象,但是当返回值是String的时候,中文会乱码. 原因是因为其中字符串转换和对象转换用的是两个转换器,而String的转换器中固定了转换编码为"ISO-8859-1". 解决: 方法1.加上这个@RequestMapping(value="/login.action",method=RequestMethod.POST,produces={"applicatio

Spring MVC @ResponseBody注解返回值中文乱码问题

在Spring MVC 的Controller中使用@ResponseBody注解向客户端返回数据时,如果没有特殊设置则中文将显示为乱码,此时需要在Spring-MVC.xml配置文件中加入如下代码 <!-- 避免IE在ajax请求时,返回json出现下载 --> <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHt

spring 3.0 @ResponseBody注解返回中文问号乱码解决办法

前几天给公司做项目,很久没接触java项目的我,遇到了一个问题,就是我在利用异步到控制器中查询,然后返回jaon字符串到前台,字符串中包含中文,于是我直接用了@ResponseBody注解,来返回到前台. 但是中文一直是问号返回到前台.后来几经尝试,在配置文件中添加字符集还是没用,我发现我没写错,后来某次突然想到是不是因为放错位置了,果然,字符集配置应该放在包扫描配置之前,不然扫描完成后再去设置字符也没有意义了.所以以下配置为正确解决办法.. <bean class="org.spring

如何解决java协议的loadrunner脚本返回字符串乱码问题

在编写java协议的loadrunner脚本时,服务器偶尔会返回部分中文字符,这部分字符在日志中直接打印时显示的是乱码,需要进行转义才行.原因是实际返回的字符时UTF-8格式,但是loadrunner中使用的是GB2312格式,使用String的构造函数 String(byte b[],"encoding")进行两次转码即可. 下面是代码: web.reg_save_param("msg", new String[]{ "NOTFOUND=ERROR&qu

SpringMVC 返回字符串

今天看到一段代码,关于SpringMVC的Controller中返回字符串的代码,这段代码被我称为2b代码(英文名:2b Code). @RequestMapping(value="twoB.do") public void twoBCode(HttpServletRequest request,HttpServletResponse response) { //.......... 此处省略 N行 try { response.setContentType("type=te