Tomcat6安装目录/conf/server.xml默认的connector配置如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
默认情况下其URIEncoding =”ISO8859-1”。
为了确保web客户端和服务器编解码正常,客户端提交url传递中文参数时,有以下两种处理方式:
1.tomcat connector采用默认配置URIEncoding =”ISO8859-1,
客户端:比如搜索关键字时请求的url,需要用encodeURIComponent()对keyword进行字符编码转换
window.location.href = "search.html?keyword="+encodeURIComponent(keyword)
服务器端解码:接收到的为ISO8859-1编码的字符串
String keyword = request.getParameter("keyword");
keyword = new String(keyword.getBytes("ISO8859-1"), "UTF-8");
2. 修改tomcat connector配置URIEncoding =”UTF-8”
客户端处理跟第一种方法一样
服务器端则:
String keyword= request.getParameter("keyword");
keyword = URLDecoder.decode(keyword,"UTF-8")
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
默认情况下其URIEncoding =”ISO8859-1”。
为了确保web客户端和服务器编解码正常,客户端提交url传递中文参数时,有以下两种处理方式:
1.tomcat connector采用默认配置URIEncoding =”ISO8859-1,
客户端:比如搜索关键字时请求的url,需要用encodeURIComponent()对keyword进行字符编码转换
window.location.href = "search.html?keyword="+encodeURIComponent(keyword)
服务器端解码:接收到的为ISO8859-1编码的字符串
String keyword = request.getParameter("keyword");
keyword = new String(keyword.getBytes("ISO8859-1"), "UTF-8");
2. 修改tomcat connector配置URIEncoding =”UTF-8”
客户端处理跟第一种方法一样
服务器端则:
String keyword= request.getParameter("keyword");
keyword = URLDecoder.decode(keyword,"UTF-8")