直接使用ajax提交,当name参数中有中文时,需要使用encodeURIComponent()函数处理;在firefox下,不作处理也能正常,但在IE下就会乱码。
$.ajax({ type: "GET", url: url, data:{ "name":encodeURIComponent(name), "objectType":objectType, "command":command }, cache: false, success: function(msg){ } });
如果不使用jquery ajax,而直接提交到jsp页面,则需要对name再多做一层处理。
escape(encodeURIComponent(name))
在响应请求的jsp页面,需要进行decode操作。
public String getParameter(String name) {
String param = request.getParameter(name);
if (param != null) {
try {
param = java.net.URLDecoder.decode(param, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return param;
} else
return null;
}
java提供的url编码方法
java.net.URLEncoder.encode(String s, String enc) ;