出现中文乱码
在web的程序编写中有时候会使用到json,但是涉及到中文的时候,则容易出现乱码问题,以下是xml以及java代码这两种修改方式
首先是xml这种写法,这种写法中加一些配置就好
在mvc的xml中加入以下配置
<mvc:annotation-driven>
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg name="defaultCharset" value="UTF-8"></constructor-arg>
</bean>
<!-- <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">-->
<!-- <property name="defaultCharset" value="UTF-8"></property>-->
<!-- </bean>-->
</mvc:message-converters>
</mvc:annotation-driven>
这是fastjson以及jkson这两种json的配置
如果是Java代码的方法的话则如下:
@ComponentScan("com.blb")
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
List<MediaType> list = new ArrayList<MediaType>();
MediaType mediaType = new MediaType("text", "plain", Charset.forName("utf-8"));
list.add(mediaType);
//string转换器
StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(Charset.forName("utf-8"));
stringHttpMessageConverter.setSupportedMediaTypes(list);
converters.add(stringHttpMessageConverter);
// FastJsonHttpMessageConverter fastJsonHttpMessageConverter = new FastJsonHttpMessageConverter();
// fastJsonHttpMessageConverter.setDefaultCharset(Charset.forName("utf-8"));
// converters.add(fastJsonHttpMessageConverter);
}
}
以上为两种json格式的java写法