在过去的几个小时里,我阅读了很多关于这个主题的内容,但到目前为止没有任何效果。我正在尝试返回包含“奇数”某些字符的响应。这是一个非常简单的例子:
@ResponseBody
@RequestMapping(value="test")
public String test(){
String test = "čćžđš";
System.out.println(test);
logger.info(test);
return test;
}
这是我的 web.xml ,因为我在 CharacterEncodingFilter 帮助的地方找到了一些答案(虽然不是我的情况)。我使用 POST 方法是因为我读到这适用于 POST。
还发现了这个answer (有关的)。也没有帮助。
当我调试它时会出现正确的值,但是当我打印时它不会出现,如下所示:
当我从 jmeter 测试它时,响应似乎没问题,Content-Type
是 text/html;charset=UTF-8
这也是它的屏幕截图。 http://i56.tinypic.com/14lt653.jpg
我认为正确的方法是返回 UTF-8,也许我错了。
最佳答案
@ResponseBody 使用 ResponseEntity。
@RequestMapping(value="test")
public ResponseEntity<String> test(){
String test = "čćžđš";
System.out.println(test);
logger.info(test);
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type", "application/json; charset=UTF-8");
return ResponseEntity<String>(test,responseHeaders, HttpStatus.OK);
}
关于java - Spring MVC 响应编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6638284/