2011-04-21 79 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