php/js互传cookie中文乱码的问题
问题发现:
过去好好的,今天突然网页出现了问题。
在猎豹和IE都出现问题,在360浏览器就正常。
经过排错,最终发现: js存储cookie,php读取的时候成了乱码 。
问题分析:
这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!
解决思路:
1:写入Cookie时,先将其用Url编码,然后再写入
2:当我们读取时再Url解码即可
php两个函数
urlencode()
urldecode()
js两个函数
decodeURI()
encodeURI()
5.5以前的版本是 escape unescape
php 设置cookie ,js读取cookie
<?php
setcookie ("TestCookie", urlencode("这就是网页21"));
?>
<script type="text/javascript">
alert(decodeURI(getCookie("TestCookie")))
function getCookie(sName) {
var aCookie = document.cookie.split('; ');
for (var i=0; i < aCookie.length; i++) {
var aCrumb = aCookie[i].split('=');
if (sName == aCrumb[0])
return decodeURI(aCrumb[1]);
}
return '';
}
</script>
js设置cookie php读取cookie
<script type="text/javascript">function setCookie(name, value, time){
var nameString = name + '=' + encodeURI(value);
var expiryString = "";
if(time !== 0) {
var expdate = new Date();
if(time == null || isNaN(time)) time = 60*60*1000;
expdate.setTime(expdate.getTime() + time);
expiryString = ' ;expires = '+ expdate.toGMTString();
}
var path = " ;path =/";
document.cookie = nameString + expiryString + path;
}setCookie("TestJsCookie", "我是中国人", 0) </script>
<?php
echo urldecode($_COOKIE["TestJsCookie"]);
?>
3 js设置js读取 php设置php读取方法类似
总结:cookie解决中文乱码问题实质上是就url编码函数之间的转换
php/js互传cookie中文乱码的问题的更多相关文章
- java js url传参中文乱码
String item = this.getRequest().getParameter("item"); item = new String(item.getBytes(&quo ...
- cookie中文乱码
在学习当中碰到cookie中文乱码问题,问题原因:cookie对中文不太支持,将中文放入cookie中会报错误. 解决办法: 1.编码 将中文进行编码再放入cookie中: String userna ...
- 关于url传参中文乱码问题
之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/c ...
- 近期在调用 calendar.js 的时候出现中文乱码! 解决方式
近期写一个小项目的时候:在调用 calendar.js 的时候出现中文乱码! 如图所看到的: 原因在于: 我的jsp 页面,指定的是 UTF-8 编码,然而,调用的 calendar.js 的编码确 ...
- JS传参中文乱码
在传参的时候给中文参数加上两个encodeURI即可,类似这样: encodeURI(encodeURI(balanceUnit)) 写法二 escape(encodeURI(tmplItem.hyz ...
- [转]JS Cookie 中文乱码
首先是一个解析cookie的函数: <script type="text/javascript"> function getCookie(name) { var c ...
- JS传参中文乱码问题.NET
前台js代码 window.location.href = "/product.aspx?id=2&title=" +encodeURIComponent(strtitle ...
- window.location.href 传参中文乱码问题!!!
不是所有地方都会用Ajax 当你使用window.location.href 来传中文参数的时候 如何避免乱码问题 js 是这样写的 下面代码中 方式 封装编码 参数 username ...
- get请求中url传参中文乱码问题
在项目中经常会遇到中文传参数,在后台接收到乱码问题.那么在遇到这种情况下我们应该怎么进行处理让我们传到后台接收到的参数不是乱码是我们想要接收的到的,下面就是我的一些认识和理解. 一:get请求url中 ...
随机推荐
- const、static、extern三个关键字
默认情况下,C语言的全局变量是全世界都可以访问的,也就是全局变量可以跨文件访问. extern可以引用全局变量 例如,如果有一个全局变量int money = 100;extern int money ...
- python 模块的介绍(一)
模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保存了 ...
- Android studio:Groovy 与 Gradle 基础【三】
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255064&extra=page%3D2%26filter%3Dautho ...
- 上传文件到hdfs注意事项
我在MapReduceInput下创建CFItemSet文件夹,下面有itemSet.txt. 我想上传到cf下,然后想着hdfs上会显示cf/itemSet.txt. hdfs dfs -put i ...
- 初识echarts
show一个demo而已
- Jenkins实现测试环境到生产环境一键部署(Windows)
前言: 因为dotnet在发布站点后,然后再上传服务时,会因为各种的网速问题,导致站点瞬间挂掉!那么通过一键部署,先在测试站点测试好的文件,复制到正式站点上的一个缓冲区,进行预热配置,之后再本机进行文 ...
- Android异步加载
一.为什么要使用异步加载? 1.Android是单线程模型 2.耗时操作阻碍UI线程 二.异步加载最常用的两种方式 1.多线程.线程池 2.AsyncTask 三.实现ListView图文混排 3-1 ...
- Nginx research, nginx module development
catalog . 初探nginx架构 . handler模块 . Nginx编译.安装.配置 . Hello World模块开发 1. 初探nginx架构 nginx在启动后,在unix系统中会以d ...
- JavaScript碰到的几个方法
=>isNaN() 函数用于检查其参数|是否|是|非数字值. 绕吧,我给它断个句,别一不小心看叉了 百度百科告诉我们,NaN,是Not a Number的缩写 所以, alert(isNaN(1 ...
- 找女神要QQ号码
引言 我们组来了个美女程序员,我心里窃喜,哈哈这下机会来了.我在想怎么下手呢?好吧,还是从QQ号码开始,找到女神要到QQ号,哈哈,我真是个天才~~~ 是这样子滴 想法是美好的,现实是残酷的,找女神要Q ...