使用spingMVC是,在JS里面通过ajax发送请求,服务端返回json格式的数据,从数据库获取到的是正确的中文格式,但是在页面上显示的就是错误的“??”,遇到这种情况,有以下几种解决办法。今天小博老师就带大家一起学习一下。
1. 在@RequestMapping里面加入produces = "text/html;charset=UTF-8"。
输出时,强制使用utf-8编码。
2. 修改org.springframework.http.MediaType它的构造方法的参数,并在applicationContext-mvc.xml 加入配置。
3. 直接将org.springframework.http.converter.StringHttpMessageConverter 里面的属性defaultCharset设置成utf-8。
这是因为因为在StringHttpMessageConverter里面默认设置了字符集是ISO-8859-1,所以,我们可以在配置文件里进行设置。
<bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="defaultCharset" value="UTF-8"/>
</bean>