ant*_*ant 5 java servlets spring-mvc character-encoding
在过去的几个小时里,我读了很多有关这个主题的文章,但到目前为止没有任何效果。我正在尝试返回包含“奇数”一些字符的响应。这是一个例子,非常简单:
\n\n@ResponseBody\n @RequestMapping(value="test")\n public String test(){\n String test = "\xc4\x8d\xc4\x87\xc5\xbe\xc4\x91\xc5\xa1";\n System.out.println(test);\n logger.info(test);\n return test;\n }\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的web.xml,因为我找到了一些 CharacterEncodingFilter 提供帮助的答案(但不是我的情况)。我使用 POST 方法是因为我读到这适用于 POST。
\n\n还找到了这个答案(相关)。也没有帮助。
\n\n当我调试它时,会出现正确的值,但是当我打印时,它不会出现,如下所示:
\n\n
当我从 jmeter 测试它时,响应似乎没问题,Content-Type是text/html;charset=UTF-8
这也是它的屏幕截图。http://i56.tinypic.com/14lt653.jpg
\n\n我认为正确的方法是返回UTF-8,也许我错了。
\n几天后,我刚刚经历了“谁是你爸爸的时刻”。它来自阅读 spring 3.0 参考,我没有其他可尝试的内容,所以为什么不仔细阅读整个文档..以及 @axtavt 答案的组合:
谁在 Spring MVC 中设置响应内容类型(@ResponseBody)
改变了原来的解决方案:
public class EncodingPostProcessor implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String name)
throws BeansException {
if (bean instanceof AnnotationMethodHandlerAdapter) {
HttpMessageConverter<?>[] convs = ((AnnotationMethodHandlerAdapter) bean).getMessageConverters();
for (HttpMessageConverter<?> conv: convs) {
if (conv instanceof StringHttpMessageConverter) {
((StringHttpMessageConverter) conv).setSupportedMediaTypes(
Arrays.asList(new MediaType("text", "html",
Charset.forName("UTF-8"))));
}
}
}
return bean;
}
Run Code Online (Sandbox Code Playgroud)
到 :
public class EncodingPostProcessor implements BeanPostProcessor {
public Object postProcessBeforeInitialization(Object bean, String name)
throws BeansException {
if (bean instanceof AnnotationMethodHandlerAdapter) {
HttpMessageConverter<?>[] convs = ((AnnotationMethodHandlerAdapter) bean).getMessageConverters();
for (HttpMessageConverter<?> conv: convs) {
if (conv instanceof StringHttpMessageConverter) {
((StringHttpMessageConverter) conv).setSupportedMediaTypes(
Arrays.asList(new MediaType("text", "plain",
Charset.forName("UTF-8"))));
}
}
}
return bean;
}
Run Code Online (Sandbox Code Playgroud)
该死的春天!!!但我仍然会继续使用它。
| 归档时间: |
|
| 查看次数: |
15806 次 |
| 最近记录: |