2

我有这行代码:

response.setCharacterEncoding("UTF-8");

我收到此错误:

HttpServletResponse 类型的方法 setCharacterEncoding(String) 未定义

Eclipse 建议将其response转换request为我不想做的事情。谁能帮我解决这个问题,好吗?

4

3 回答 3

3

请参阅javadoc。此方法从 servlet 2.4 开始存在。要么您的服务器支持此版本(或更高版本)的 servlet 规范,并且您的构建路径中的 jar 太旧,要么它不支持它,您不应该使用此方法。

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

于 2012-05-22T21:56:12.843 回答
3

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

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

您可以阅读有关方法的文档setContentType

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

于 2012-05-22T21:56:38.827 回答
2

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

于 2012-05-22T21:54:48.360 回答