几天用url中值时,遇到中文乱码问题。奇怪的是部分中文是乱码,大部分中文显示正常。页面encoding和struts配置文件都是用的utf-8。在tomCat的server.xml中也加了urIEcoding=utf-8(用url传值时,要注意服务器的编码方式。默认是GBK)。都没解决了。
最后上网上找到了一种方式,两步:
1、在客户端用escape(encodeURIComponent(fieldValue))方法编码,例如:
title=escape(encodeURIComponent(title)); //这是js里的函数
url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;
2、在服务端用java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8"),进行解码