情况一:
前提:tomcat的server.xml配置文件中没有增加URIEncoding="UTF-8配置
js中用get方式提交中文参数
location.href="${ctx}/globalSearch/search?qname=" +encodeURI(encodeURI($('#qname').val()));//$('#qname').val()取到的是中文
后台java代码中用如下方式:
String str = URLDecoder.decode(this.getRequest().getParameter("qname"), "UTF-8");
情况二:
前提:tomcat的server.xml配置文件中没有增加URIEncoding="UTF-8"配置
js中用get方式提交中文参数
location.href="${ctx}/globalSearch/search?qname=中文";、
后台java代码中用如下方式:
String str = new String(this.getRequest().getParameter("qname").getBytes("iso-8859-1"), "utf-8");
情况三(推荐):
前提:tomcat的server.xml配置文件中已经增加URIEncoding="UTF-8"配置
js中用get方式提交中文参数
location.href="${ctx}/globalSearch/search?qname=中文";
后台java代码中用如下方式:
String str = this.getRequest().getParameter("qname");
tomcat中配置URIEncoding="UTF-8"示例:
server.xml文件路径:tomcat-7.0.73\conf\server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>