引入:

cookie能不能存中文?
* 在tomcat 8 之前 cookie中不能直接存储中文数据。
* 需要将中文数据转码—一般采用URL编码(%E4%B8%E3)(%两位十六进制数)
* 在tomcat 8 之后,cookie支持中文数据。特殊字符还是不支持,建议使用URL编码存储URLEncoder.encode(str_date,”utf-8″);,URL解码解析URLDecoder.decode(time, “utf-8”);

URL(统一资源定位符)编码方法是属于 Global 全局对象的,encodeURI() 和 encodeURIComponent() 方法可以对URI(通用资源标示符)进行编码,以便发送给浏览器,有效的URI中不能包含某些字符,例如空格。而这两个URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字符,从而让浏览器能够接受和理解。

其中 encodeURI() 主要用于整个URI,而 encodeURICompoent() 主要用于对URI中的某一段进行编码。它们的主要区别在于,encodeURI() 不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;而 encodeURIComponent 则会对它发现的任何非标准字符进行编码

与上述两个方法相对应的两个方法分别是 decodeURI() 和 decodeURIComponent() 。其中,decodeURI() 只能对使用 encodeURI() 替换的字符进行解码。decodeURIComponent() 能够解码使用 encodeURIComponent() 编码的所有字符串。

$(function () {/*var search = location.search;//alert(search);//?id=5var cid = search.split("=")[1];*///获取cid的参数值var cid = getParameter("cid");//获取输入框rname的参数值var rname = getParameter("rname");//得到的是url编码//判断rname如果不为null且不等于""if (rname) { //有值//url解码rname = window.decodeURIComponent(rname);}alert(cid);alert(rname);//当页码加载完成后,调用load方法,发送ajax请求加载数据load(cid);});

如果前端不需要展示rname,可以不解码,那么只需在后端解码一次

后端进行url解码

补充:

(130条消息) new String(getBytes(ISO-8859-1),UTF-8)中文编码避免乱码_拉布拉多先生的博客-CSDN博客_new string 字符集