php两个函数 urlencode urldecode
js两个函数 decodeURI encodeURI 5.5以前的版本是已经废弃的 escape unescape
简单示例如下:
1、php 设置cookie ,js读取cookie
setcookie ("username", urlencode("中文测试"));
?>
2、js设置cookie php读取cookie
echo urldecode($_COOKIE["username"]);
?>
3 js设置js读取 php设置php读取方法类似
function SetCookie(name, value) {
var exp = new Date();
exp.setTime(exp.getTime() + 3 * 24 * 60 * 60 * 1000); //3天过期
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
return true;
};
function getCookie(name) {
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return arr[2]; return null;
};
var currentServiceAliasName = getCookie("appName");
var displayName = "";
if (currentServiceAliasName != null && currentServiceAliasName != "" && currentServiceAliasName != "undefined")
displayName = decodeURIComponent(currentServiceAliasName) + " . " + counterName;
else
displayName = counterName;
decodeURIComponent 用这个转换一下
总结:cookie解决中文乱码问题实质上是就url编码函数之间的转换,小编总结了一下其实小编觉得cookie最好不要使用中文了,中文在这些地方处理不够用了。