服务器:tomcat
默认字符集:ISO8859-1
中文问题,是在应用中常常遇到的问题。
ajax 的URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码。
这将涉及到字符解码操作
在应用中常常会用new String(fieldType.getBytes("iso-8859-1"),
"UTF-8");等类似的方法去解码。但这种方式受具体应用环境限制,往往在应用部署环境发生改变时,还会出现中文乱码。
在这里的一个解决方法,可以在任何应用部署环境下通用。此方法分两步:
1、在客户端用js中 var
zhongwen=escape(encodeURIComponent("中文"))方法编码,例如:
url="/print/printList!printTable.action?zhongwen="+zhongwen;
2、在服务端用
String zhongwen =
java.net.URLDecoder.decode(getRequest().getParameter("zhongwen"),"UTF-8"),问题解决。