昨天,将一个原来使用JSR 311作为restful实现的测试系统改成了使用spring mvc,最后测试的时候发现输出的json字符串为乱码,从日志可以看出使用的是StringHttpMessageConverter,并使用ISO-8859-1字符集,解决方法如下:
public class StringHttpMessageConverter extends AbstractHttpMessageConverter<String>
{
public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
..........
}
不推荐这种方法。
亦或是
@RequestMapping(value = "/configrole", method = RequestMethod.GET, produces = "application/json;charset=UTF-8")
public @ResponseBody String configrole() {
......
}