ie获取cookie数据,中文乱码;cookie中文乱码终极解决办法
2023-09-11 14:14:50 时间
终极解决办法
cookie存中文数据是会出现乱码的,所以在存数据前,得先“编码”,取的时候先“解码”
JS方法-编码:encodeURI("你好") 结果:"%E4%BD%A0%E5%A5%BD" JS方法-解码:decodeURI("%e4%bd%a0%e5%a5%bd") 结果:"你好" c#方法-编码:HttpUtility.UrlEncode("你好") 结果:"%e4%bd%a0%e5%a5%bd" c#方法-解码:HttpUtility.UrlDecode("%E4%BD%A0%E5%A5%BD") 结果:"你好"
推荐文章1:
推荐文章2:
c# .net cookie帮助类CookieHelp.cs,防止cookie乱码,c# 读取cookie乱码,写入cookie乱码_cplvfx的博客-CSDN博客
我cookie存的是json数据
获取到的数据
{"userid":2777000,"uname":"15100000000","pwd":"xxxx","nickName":"姗欏ぇ甯?,"picture":"/Upload/UserInfo/xxx.jpg","truename":"绋a嬮箯","LoginTimes":378,"LastLoginTime":"2022-12-26 16:31:11","InterestLabel":"{\"ArrayID\":[],\"ArrayIDStr\":\"\",\"Object\":[]}","TrueNameStatus":2,"TrueNameStatusDescription":"宸插疄鍚?,"Token":"xxxx","SpreadQRCodeUrl":"/WriteFile/QRCode/551a2390824840cd9161965a98700419.png","userQRCodeUrl":"","orgList":[]}
在cookie拿到数据后,序列化JSON字符串时报错,就是因为【?】问号造成的,因为中文乱码了。
JSON.parse(UserStr)//序列化json
我需要做的时,把从cookie拿到的json字符串,处理成json可序列化的字符串;
处理后的数据
{"userid":2777000,"uname":"15100000000","pwd":"xxxx","nickName":"姗欏ぇ甯","picture":"/Upload/UserInfo/xxx.jpg","truename":"绋a嬮箯","LoginTimes":378,"LastLoginTime":"2022-12-26 16:31:11","InterestLabel":"{\"ArrayID\":[],\"ArrayIDStr\":\"\",\"Object\":[]}","TrueNameStatus":2,"TrueNameStatusDescription":"宸插疄鍚","Token":"xxxx","SpreadQRCodeUrl":"/WriteFile/QRCode/551a2390824840cd9161965a98700419.png","userQRCodeUrl":"","orgList":[]}
处理核心代码
if(IE_Safari.isIE==true)
{//如果是IE
console.warn('你的浏览器是IE,进入IE业务处理...');
var _userArray=User.split(',');
User="";
_userArray.forEach(function(item,index){
if(item.indexOf("?")!=(-1))
{
var newItem=item.replace("?","\"");
User+=newItem;
}else{
User+=item;
}
if((index+1)<_userArray.length)
{
User+=",";
}
});
console.log('处理后:',User);
}
IE_Safari对象是下面的文章里的代码----文章节点 [2023-2-13代码优化-最新完整代码]
处理核心代码---解析
第一步:把字符串以“,”逗号分割成数组
var _userArray=User.split(',');
第二步:清空字符串变量
User="";
第三步:使用Array数组的forEach()方法,遍历数据
_userArray.forEach(function(item,index){ });
item:数组里的每条数据
index:当前遍历的数组下标,从0开始
第四步:判断当前数据是否包含问号,包含替换成引号,引号转义
if(item.indexOf("?")!=(-1))
{
var newItem=item.replace("?","\"");
User+=newItem;
}else{
User+=item;
}
第五步:判断当前数组下标是否小于数组长度,如果小于加逗号
if((index+1)<_userArray.length)
{
User+=",";
}
相关文章
- Unity3D脚本中文系列教程(一)
- 犀牛Phinoceros 如何切换中文语言
- jsp / get 中文乱码问题
- Python中文GBK编码解决实例
- Servlet -- 中文乱码解决
- vim中文手册
- 解决Excel数据导入sqlite中的中文乱码问题
- 使用git bash 执行Python中文乱码
- NSPredicate匹配中文正
- python print 打印的数据包含中文,打印报错UnicodeDecodeError: 'gbk' codec can't decode bytes in position 459-460: illegal multibyte sequence解决办法
- 设置mysql的字符编码解决中文乱码问题
- SAP HANA数据库里对中文字符串排序的实现
- SAP HANA里的中文排序问题
- C# POST XML(修正中文乱码问题)
- Atitit.404错误解决标准流程and url汉字中文路径404错误resin4 resin chinese char path 404 err解决
- paip.提升中文分词准确度---新词识别
- SAP Business ByDesign 中文技术开发资料
- 中文对话数据集
- 【D3 API 中文手冊】
- Jmeter5.4.1查看结果树的响应数据,中文显示乱码解决
- primefaces p:dataExporter filename 支持中文 utf8
- qt 中文乱码 处理QByteArray类型里含中文的数据
- Bottle 中文文档
- 使用Struts 2框架、ajax提交中文数据在后台乱码的问题
- 通过Oracle识别字符串中的中文or字母or数字来介绍全角半角转换函数(to_multi_byte/to_single_byte)在varchar/clob中的使用案例
- Mysql 导入CSV文件,中文内容乱码问题
- 论文投稿指南——中文核心期刊推荐(农业基础科学)
- 论文投稿指南——中文核心期刊推荐(地理学 2)
- JavaWeb课程复习资料——中文乱码上下文处理