utf8-在JSF中使用utf-8字符读取请求参数值



从包含特殊字符的GET请求中读取请求参数时遇到问题。我是这样做的:

我用javascript创建请求url,驱动程序名称的值是encodeURIComponent('sorumluluğumuzu')结果是这个URL,它在firefox中正确显示:http://localhost:8080/driver/list.xhtml?sl=1&驱动程序名称=sorumlulu%C4%9Fumuzu

但是,当我在JSFbean中读取请求参数时:FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()

该值等于sorumluluÉumuzu

我在JSF2中遇到了这个omTomcat7,但我们在Websphere6和JSF1.2上注意到了同样的问题。

有什么想法吗?

Tomcat默认URL使用ISO-8859-1解码GET请求参数。您需要通过Tomcat的/conf/server.xml<Connector>元素中的URIEncoding属性将其更改为UTF-8。

<Connector ... URIEncoding="UTF-8">

另请参阅:

  • Unicode-如何正确输入字符?-JSP/Servlet请求

相关内容

  • 没有找到相关文章

最新更新