setCharacterEncoding问题

时间:2012-05-22 21:47:53

标签: java servlets

我有这行代码response.setCharacterEncoding("UTF-8");

问题是: 方法setCharacterEncoding(String)未定义类型HttpServletResponse

eclips建议将response转换为request,这是我不想要的。任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:3)

the javadoc。从servlet 2.4开始存在这种方法。您的服务器支持servlet规范的此版本(或更高版本),并且buildpath中的jar太旧,或者它不支持它,并且您不应该使用此方法。

在后一种情况下,请阅读javadoc以了解应该替换它的内容。

答案 1 :(得分:3)

另一种方法是设置内容类型。

response.setContentType("text/html;charset=UTF-8");

您可以阅读方法setContentType上的 docs

  

容器必须传达内容类型和字符   用于servlet响应的编写器的编码,如果是   协议提供了这样做的方法。在HTTP的情况下,   Content-Type标头。

答案 2 :(得分:2)

方法setCharacterEncoding(String charset)HttpServletResponse的父类ServletResponse中定义。如果eclipse抱怨它没有为类型定义,那么你可能有一个不正确的import语句。尝试删除所有导入语句,然后按Ctrl + O.