1、使用代码完成字符集修改
方法(一):
html页面:
function testone() {
var url = testone_test.do?expr=+你好;
location = encodeuri(url);
}
后台java代码:
string expr = new string(request.getparameter(expr).getbytes(iso-8859-1),utf-8);
方法(二):
html页面:
function testone() {
var url = testone_test.do?expr=+你好;
location = encodeuri(encodeuri(url));
}
后台java代码:
string expr = java.net.urldecoder.decode(lrequest.getparameter(expr) , utf-8);
2、修改tomcat中的配置参数
在tomcat下面找到server.xml
<connector port="8080" maxthreads="150" minsparethreads="25" maxsparethreads="75" uriencoding="gbk">
根据需要修改为utf-8等字符集。
3、在web工程中添加spring.jar,使用spring的characterencodingfilter
view plaincopy to clipboardprint?
<filter>
<filter-name>encoding</filter-name>
<filter-class>org.springframework.web.filter.characterencodingfilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
org.springframework.web.filter.characterencodingfilter 中的转码部分:
view plaincopy to clipboardprint?
protected void dofilterinternal(
httpservletrequest request, httpservletresponse response, filterchain filterchain)
throws servletexception, ioexception {
if (this.encoding != null && (this.forceencoding || request.getcharacterencoding() == null)) {
request.setcharacterencoding(this.encoding);
if (this.forceencoding && responsesetcharacterencodingavailable) {
response.setcharacterencoding(this.encoding);
}
}
filterchain.dofilter(request, response);
}