中文乱码处理

本文介绍了在Tomcat服务器中处理中文参数的两种方法。一种是通过客户端使用encodeURIComponent()进行编码,服务器端使用特定的解码方式;另一种是直接修改Tomcat配置文件中的URIEncoding属性。
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")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值