2009-12-22 35 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