我在从包含特殊字符的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上注意到了同样的问题。
有什么想法吗?
答案 0 :(得分:2)
默认情况下,Tomcat使用ISO-8859-1对GET请求参数进行URL解码。您需要通过Tomcat URIEncoding
的{{1}}元素中的<Connector>
属性将其更改为UTF-8。
/conf/server.xml