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

时间:2011-06-21 15:16:09

标签: jsf utf-8 parameters request

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

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

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

该值等于sorumluluÄumuzu

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

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

默认情况下,Tomcat使用ISO-8859-1对GET请求参数进行URL解码。您需要通过Tomcat URIEncoding的{​​{1}}元素中的<Connector>属性将其更改为UTF-8。

/conf/server.xml

另见: