java - SpringMVC4.3.7在使用@ResponseBody注解并返回含有中文字符串时字符串显示为问号的问题
PHP中文网
PHP中文网 2017-04-18 10:49:27
0
3
609

实际上是想用来做JSON的返回,团队比较习惯用org.json。。。。

在项目中使用了@ResponseBody来注解一个返回值为String的函数。函数里边获取了一些键值对,键值对用org.json转成了json格式,然而在输出的时候出了问题。响应结果中所有的中文都变成了问号,而在return前直接用System.out.println输出到控制台却不是乱码或者问号。在网上搜了一些解决方案,不管是加在RequestMapping里的content-type(完全看不到变化)还是加在xml的annotation-driven(直接编辑器保错找不见这么个用法)。求教这个版本的SpringMVC应该如何从根本上解决掉乱码问题?
至于为啥不用直接返回Jackson的生成方式,额。。。。。。实在解决不了乱码问题再考虑。。。

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(3)
刘奇

시작 매개변수를 추가해 보세요: -Dfile.encoding=utf-8

설명을 보니 MessageConverter에 문제가 있는 것 같네요

大家讲道理

추가하세요

으아아아
阿神

해결되었습니다. 아이디어에서 생성한 xml 헤더가 참조하는 네임스페이스 정의 파일이 3.0이므로 주석 기반이 지원되지 않습니다. 결국 주석을 통해 메시지 변환기가 재설정됩니다. 해당 인코딩의 속성을 결정합니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿