【问题标题】:Java EE, accent in url, request.getParameter wrong valueJava EE,url 中的重音,request.getParameter 错误值
【发布时间】:2011-08-10 03:55:52
【问题描述】:

我在一个 Web 应用程序 servlet/jsp 上使用 Java 工作,但我今天遇到了一个问题:
验证表单后,我将输入字段的值作为参数 (GET) 传递。 我用javax.net.URLEncoder.encode (String, "UTF-8")的方法很小心,但是当这个设置由重音组成时,在第二个servlet中获得的值的编码是不正确的。
不过我用URLDecoder.decode ((String) request.getParameter ("id"), "UTF-8")的方法

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  

谁能帮我解决这个字符集问题?

【问题讨论】:

    标签: java url servlets character-encoding diacritics


    【解决方案1】:

    getParameter() 返回解码后的值,所以你不需要调用decode()

    getParameter() 使用的编码配置取决于您的 servlet 容器。例如,在 Tomcat 中可以使用URIEncoding attribute 进行配置。

    【讨论】:

    • 谢谢,这个属性在哪里配置?我可以在我的 servlet 中执行此操作吗? (因为我的应用程序将在远程服务器上运行)
    • 您好,感谢您的提示,但这并不能解决我的编码问题,我尝试在地址栏中手动输入口音,奇迹般的工作!所以我已经解决了我的问题,只是删除了 URLEncoder.encode() 方法 :) 希望这可以帮助别人,再见!!
    猜你喜欢
    • 2018-02-13
    • 1970-01-01
    • 2015-12-08
    • 2020-05-12
    • 1970-01-01
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    相关资源
    最近更新 更多