常常json以@ResponseBody注解String类型返回,由于 StringHttpMessageConverter里面默认设置了字符集是ISO-8859-1,因此这儿传回去的字符串中的中文常常是乱码,多个?号表示的样子,解决的方法是将StringHttpMessageConverte r默认值改为UTF-8才行。
spring配置文件中添加这两个bean,代码如下:
<bean name="utf8Charset" class="java.nio.charset.Charset" factory-method="forName" > <constructor-arg value="UTF-8" ></constructor-arg> </bean> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <constructor-arg ref="utf8Charset"> </constructor-arg> </bean>
时间: 2024-12-28 21:34:39