6 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
對(duì)spring-mvc對(duì)編碼適配器做編碼支持,沒記錯(cuò)是標(biāo)簽名為:
<mvc:message-converters>
的貨

TA貢獻(xiàn)1844條經(jīng)驗(yàn) 獲得超8個(gè)贊
spring mvc 添加 Jackson 支持
添加spring mvc 配置
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg name="defaultCharset" value="UTF-8"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
或者 重寫 StringHttpMessageConverter
/* 將 */ public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
/* 改 */ public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
用其他的抓包工具測(cè)試你的返回結(jié)果是否是utf-8的中文。
問題往往出現(xiàn)在源頭或者最后一步。
如果是在頁面亂碼上你的JSP頁面沒有設(shè)置 charset "UTF-8"。
瀏覽器console里面亂碼的話,用F12 網(wǎng)絡(luò) 看看響應(yīng)頭Content-Type = text/html,Encoding之類的。
這些環(huán)節(jié)沒有問題,那大概就是String 環(huán)境設(shè)置的問題,前面回答很值得參考。

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
工程中用springmvc返回json格式時(shí),中文亂碼了,看了一下springmvc源碼發(fā)現(xiàn) StringHttpMessageConverter 這個(gè)類的默認(rèn)編碼為ISO-8859-1(悲劇,springmvc這么大的東西怎么不用utf-8,搞不懂)
下面是解決方法,
springmvc 的配置文件:
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
<property name="messageConverters">
<list>
<bean class = "org.springframework.http.converter.StringHttpMessageConverter">
<property name = "supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html; charset=utf-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="interceptors">
<list>
</list>
</property>
</bean>
使用這個(gè)配置要把springmvc這個(gè)<mvc:annotation-driven /> 刪掉,不要用springmvc默認(rèn)的初始化配置

TA貢獻(xiàn)1943條經(jīng)驗(yàn) 獲得超7個(gè)贊
加沒加CharacterEncodingFilter?沒加的話加上試試看
如果不行:
用的哪個(gè)版本的spirng,哪個(gè)版本的tomcat?
以及:
哪有樓上這些說的這么復(fù)雜。。。一片一片的xml看著就煩。。。
添加回答
舉報(bào)