Cookie中文存储页面500问题

  前段时间做cookie存储,直接用的菜鸟教程中的cookie设置方法,方法如下:

function setCookie(cname,cvalue,exdays)
{var d = new Date();d.setTime(d.getTime()+(exdays*24*60*60*1000));var expires = "expires="+d.toGMTString();document.cookie = cname + "=" + cvalue + ";" + expires+"; path=/";
}

  以上的函数参数中,cookie 的名称为 cname,cookie 的值为 cvalue,并设置了 cookie 的过期时间 expires。

  该函数设置了 cookie 名、cookie 值、cookie过期时间。

  当用上面的cookie存储方法存储中文数据后,刷新页面发现页面报错,如下:

 

  cookie中存储内容中有中文:

  所有我们需要先对要存储的内容进行编码,然后再存储,这样才不会报错,下面用的encodeURI()函数做的编码。

function setCookie(cname,cvalue,exdays)
{var d = new Date();d.setTime(d.getTime()+(exdays*24*60*60*1000));var expires = "expires="+d.toGMTString();document.cookie = encodeURI(cname) + "=" + encodeURI(cvalue) + ";" + expires+"; path=/";
}

  这样做存储,就可以解决cookie中文存储的问题了,然后注意的就是在获取cookie的时候,需要对数据进行decodeURI()解码,完整的demo:

<script type="text/javascript">function setCookie(cname,cvalue,exdays){var d = new Date();d.setTime(d.getTime()+(exdays*24*60*60*1000));var expires = "expires="+d.toGMTString();document.cookie = encodeURI(cname) + "=" + encodeURI(cvalue) + ";" + expires+"; path=/";}function getCookie(cname){var name = encodeURI(cname) + "=";var ca = document.cookie.split(';');for(var i=0; i<ca.length; i++){var c = ca[i].trim();if (c.indexOf(name)==0) return decodeURI(c.substring(name.length,c.length));}return "";}function alertCookie(){alert(getCookie('name'));}
</script>
<span onclick="setCookie('name','我',1);">设置cookie</span>
<span onclick="alertCookie();">获取cookie</span>

 

转载于:https://www.cnblogs.com/xgytbht/p/7472971.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/253418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Behave用户自定义数据类型

在step句子中, 所有的参数默认是string类型, 如果用户想使用复杂的或者其他数据类型, 就需要了解以下bahave中的数据类型. behave的数据类型转换器是在parse和cfparse中支持. parse模块是string.format的逆函数. parse_type是基于parse的扩展, 简化了自定义数据类型的产生. pa…

IC Compiler指南——数据准备

一、概述 ICC数据设置的文件关系框图如图&#xff1a; 后端工具在数据设置阶段需要对两大类数据进行设置&#xff0c;包括从前端设计继承的综合数据 以及后端设计需要的物理数据。 综合数据主要包括前端逻辑综合已经设置过的逻辑与时序库文件、设计约束文件sdc以 及综合网表文…

iOS Xcode全面剖析

前言 前几天在公司内部做了一次关于iOS的入门分享&#xff0c;听众有PHP、Web、Android、测试、产品、UI等&#xff0c;主旨是力求不懂iOS的人能了解iOS的开发流程&#xff0c;听后都能创建一个iOS项目并打印HelloWorld。&#xff08;这是背景&#xff09;你想想就这么点需求&a…

VS2013编译OBS源码

obs源码来之&#xff1a;https://sourceforge.net/projects/obsproject/ 下载源码之后直接打开sln索引文件就行 项目打开之后 obs作为启动项 直接编译就行&#xff0c;正常应该一下就能编译成功。 在运行的时候可能会报错&#xff1a; 这个问题就需要制定一下编译输出路径&…

Y/C分离/2/3D滤波器

待整理http://blog.csdn.net/yangzhifu/article/details/7388101 http://wenku.baidu.com/view/f997d705cc1755270722086d.html

构建之法阅读笔记04

敏捷开发是一系列价值观和方法论的集合。在敏捷的大旗下&#xff0c;我们可以看到好几种软件开发的方法论&#xff0c;我们在这里主要分析Scrum这个方法论。 从Scrum方法论中分析&#xff0c;敏捷开发一共分四步&#xff1a; 第一步&#xff1a;找出完成产品需要做的事情——Pr…

js图片切换

1.不同方式的图片切换 功能点:   1.页面默认循环切换,循环切换按钮获得焦点   2.点击顺序切换时,顺序切换按钮获得焦点     点击上一张时,当图片为第一张时,图片不再进行切换,图片张数和描述也不在变动;     点击下一张时,当图片为最后一张时,图片不再进行切换,图片…

网络摄象机常用传输协议

多播路由是一个很好的技术&#xff0c;在Internet上实现了对数据的“广播”&#xff0c;不同于广播的是&#xff0c;由于广播风暴的问题&#xff0c;路由器是禁止广播数据跨路由传送的。而多播则很好的解决了这个问题。现在M$软件如&#xff1a;Netmeeting&#xff0c;WMS就广泛…

CIS关键工艺技术概览

相机作为一种媒介&#xff0c;可以记录光所体现的物体&#xff0c;使人们能够主观或客观地表达各种情感和思想。当代人类身处于一个所谓的“数字游牧时代”&#xff0c;人们携带各类移动数码设备&#xff0c;生活不受时空的限制。在当今时代&#xff0c;相较于胶片相机&#xf…

Properties

Properties配置文件说明 Properties类对应.properties文件。文件内容是键值对&#xff0c;键值对之间使用""或空格隔开。开头是"#"的表示注释Properties类在加载.properties文件时使用的iso8859-1的编码。所以这个文件中的中文要特殊处理&#xff1a;如果这…

1215 - Cannot add foreign key constraint

2019独角兽企业重金招聘Python工程师标准>>> 参考网页 https://blog.csdn.net/yiwangxiblog/article/details/52269527 https://blog.csdn.net/ytm15732625529/article/details/53729155 原因--亲测 两张表的存储引擎不一致。主键所在表和外键所在表的存储引擎改成一…

陈敏敏-130242014024-实验一

实验报告一 课程 软件体系结构与设计 实验名称 软件设计的网络环境 第 页 专业 软件工程 班级 1班 学号 130242014024 姓名 陈敏敏 实验日期&#xff1a; 2017 年 9 月 14 日 报告退发 (订正 、 重做) 一、实验目的 1.复习软件工程的重要概念&…

音频编码

http://jsjdmtjs.jpk.dlpu.edu.cn/jxzy/kecheng/4-2.html

jquery 滚动条位置的

$(#fixedHead).width()//div的宽度 $(#fixedHead)[0].scrollWidth//滚动条的宽度 两者的差为滚动条的宽度var b1$("#div1").height();//div的高度 var b2$(this)[0].scrollTop;//滚动条距离顶端的位置 var b3$(this)[0].scrollHeight;//滚动区的高度 b3b1b2滚动条到底…

Css3实现波浪线效果1

一、波浪线 &#xff0c;常用 .info::before {content: ;position: absolute;top: 30px;width: 100%;height: 0.25em;background:linear-gradient(135deg, transparent, transparent 45%, #008000, transparent 55%, transparent 100%),linear-gradient(45deg, transparent, tr…

ZZUOJ 10508: 数列游戏IV

题目链接&#xff1a;http://acm.zzu.edu.cn:8000/problem.php?id10508 题目大意&#xff1a;给定一个序列&#xff0c;长度为N&#xff0c;每次询问为一组区间[Li,Ri],输出Li到Ri中出现恰好两次的不同数的个数. N,M<2*10^5&#xff0c;序列中元素<10^9 解题思路&#x…

dm368ipnc 重写架构中的swosd 实现中文osd

appro的ipnc中只实现了英文的osd叠加&#xff0c;就连小小的ascii码表都没有覆盖全&#xff0c;而且该swosd架构灰常凌乱。 其实无非就是两个功能&#xff0c;一是叠加文字&#xff0c;而是叠加图片&#xff0c;由于考虑到兼容不同的分辨率的视频流&#xff0c;所以处理的分支相…

JAVA加密算法系列-AesCBC

package ***;import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec;import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;/** * AES 是一种可逆加密算法&#xff0c;对用户的敏感信息加密处理 * 对原始数…

dubbo系列(一)

进入官网之后&#xff0c;找到 http://dubbo.apache.org/en-us/docs/user/quick-start.html 有一个链接跳转到这里 http://dubbo.apache.org/en-us/docs/admin/install/provider-demo.html 使用git将项目下载下来 修改如下Service实现类 1 /*2 * Licensed to the Apache Softw…

基于Flask实现后台权限管理系统 - 表设计

1.1. 设计 1.1.1. 用户表 用户表记录系统中的所有用户&#xff0c;是权限管理系统最基本的部分&#xff0c;和其他权限表都有一定的关联关系&#xff0c;同时&#xff0c;一个还有一个重要的功能&#xff1a;系统登陆。 名称 数据类型 允许空值 默认值 描述 ID VARCHAR …