JSON返回中文给前端出现乱码问题

232 阅读1分钟

JSON返回中文给前端出现乱码问题

  1. 错误信息:

    • 源码如下(Controller):

      @ResponseBody
      @RequestMapping("/test")
      public String test()
      {
          System.out.println("aaa");
          return "直接返回中文内容";
      }
      
    • 网页显示

      image.png

  2. 错误原因:当使用@ResponseBody给只给前端传一个字符串时,在网页上出现乱码?????的问题;编码问题。

  3. 解决办法:

    • 在SpringMVC的配置文件(spring-mvc.xml)中,进行以下配置:

      <!--    使用零配置,注解驱动-->
      <!--    Controlelr ,Service, Repository, -->
          <mvc:annotation-driven>
              <!-- 消息转换器 -->
      <!--        可以解决:当使用@ResponseBody给只给前端传一个字符串时,在网页上出现乱码?????的问题-->
              <mvc:message-converters register-defaults="true">
                  <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                      <property name="supportedMediaTypes" value="text/html;charset=UTF-8"/>
                  </bean>
              </mvc:message-converters>
          </mvc:annotation-driven>
      
    • 重启项目,界面显示如下图所示:

      image.png