2009-12-22 75 views

回答

2

HttpServletResponse.setCharacterEncoding()不是一个静态方法。你需要在一个实例上调用它。喜欢的东西:(假设你的实例名为resp

resp.setCharacterEncoding("UTF-8"); 

或者,你可以在Content-type头这样设置字符编码:

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

编辑:好吧,你的意见,我看你已经在做这个。我从字面上理解了这个问题的措词。无论如何,这个问题很可能是因为您正在使用javac并启用了依赖关系跟踪。这是一个可以在命令行上传递的标志(或者属性为<javac> ant任务)。关闭依赖关系跟踪。 Sun的编译器不支持它。

+0

为什么它没有说通常的事情:*“非静态属性不能从非静态上下文中调用”*(或类似的东西)它适用于编译器版本吗? – OscarRyz 2009-12-22 23:17:08

+0

OP必须在打开依赖关系跟踪的情况下编译。这是一个可以在命令行上传递的标志(或者在javac ant任务中)。 Sun的编译器不支持它。 – Asaph 2009-12-22 23:22:25

+0

我实际上使用了HttpServletResponse的一个实例。我只是输入HttpServletResponse.setCharact ....来使类/对象的名称完全创建,但它结束了创建更多的混淆。所以要清楚..我正在使用类似 resp.setCharacterEncoding(...); 其中resp是HttpServletResponse的一个实例 – makhan10 2009-12-22 23:23:16

1

是否尝试在调用javac(现代编译器不支持:)时删除-depend选项。

+0

不是真的 - 我现在会这样做。 – makhan10 2009-12-23 03:43:09