2011-04-21 36 views
2

我在Java上使用Web應用程序servlet/jsp,並且今天遇到問題:
驗證表單後,我將輸入字段的值作爲參數(GET)。 我小心地使用方法javax.net.URLEncoder.encode (String, "UTF-8"),但是當此設置由重音組成時,第二個servlet中獲得的值的編碼不正確。
不過,我使用的方法URLDecoder.decode ((String) request.getParameter ("id"), "UTF-8")Java EE,重點url,request.getParameter錯誤值

Ex: 
id = éssai ==> http://127.0.0.1:8080/LdapJavaNet/groupe?action=consulter&id=%C3%A9ssai 

print (URLDecoder.decode ((String) request.getParameter ("id"), "UTF-8")) ==> éssai 

任何人都可以幫我解決這個問題的字符集?

回答

4

getParameter()返回解碼值,所以你不需要撥打decode()

getParameter()使用的編碼配置取決於您的servlet容器。例如,在Tomcat中,可以使用URIEncoding attribute進行配置。

+0

謝謝,我可以在哪裏配置此屬性?我可以在我的servlet中執行此操作嗎? (因爲我的應用程序將在遠程服務器上運行) – FAjir 2011-04-21 09:28:54

+0

嗨, 感謝您的提示,但是這並不能解決我的編碼問題, 我試圖手動輸入地址欄中的重音和工作的奇蹟! 所以**我已經解決了我的問題只是刪除URLEncoder.encode()方法** :) 希望這可以幫助別人,再見! – FAjir 2011-04-21 10:17:46