1. 程式人生 > >springMVC 返回中文字串時亂碼

springMVC 返回中文字串時亂碼

SpringMVC的@ResponseBody註解可以將請求方法返回的物件直接轉換成JSON物件,但是當返回值是String的時候,中文會亂碼,原因是因為其中字串轉換和物件轉換用的是兩個轉換器,而String的轉換器中固定了轉換編碼為"ISO-8859-1",網上也很多種解決方法,有通過配置Bean編碼的,也有自己重寫轉換器的,我這裡多次嘗試未果,只能自己解決。

第一種:在@RequestMapping中新增produces="text/html;charset=UTF-8

第二種:在MVC 配置中加入,spring版本必需為3.1或以上版本才可以下配置

<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
              <constructor-arg value="UTF-8" />
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>