解决cookie 不能存中文的方案
2009-09-08 11:24
429 查看
cookie 不支持中文
解决方案非常容易 只需将其UrlEncode 一下即可,读取的时候要UrlDecode 方便起见,来个CookieHelper 类来操作
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
解决方案非常容易 只需将其UrlEncode 一下即可,读取的时候要UrlDecode 方便起见,来个CookieHelper 类来操作
using System;
[code]using System.Collections.Generic;
using System.Web;
using System.Web.UI;
namespace Sheb.Common
{
public class CookieHelper
{
/// <summary>
/// 增加一个cookie 记录
/// </summary>
/// <param name="cookie"></param>
public static void AddCookie(HttpCookie cookie)
{
DateTime dtNow = System.DateTime.Now;
DateTime CookieExpries = cookie.Expires;
TimeSpan span= CookieExpries - dtNow;
cookie.Value = HttpUtility.UrlEncode(cookie.Value);
if (span.TotalDays < 0)
{
cookie.Expires = dtNow.AddDays(1);
}
HttpContext.Current.Response.Cookies.Add(cookie);
}
/// <summary>
/// 判断是否有cookie
/// </summary>
/// <param name="cookieName"></param>
/// <returns></returns>
public static bool HasCookie(string cookieName)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
if (cookie == null ||
(cookie.Expires < System.DateTime.Now) && cookie.Expires != System.DateTime.MinValue)
{
return false;
}
else
{
return true;
}
}
/// <summary>
/// 删除一个cookie
/// </summary>
/// <param name="cookieName"></param>
public static void DelCookie(string cookieName)
{
if (HttpContext.Current.Request.Cookies[cookieName] != null)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
cookie.Expires = System.DateTime.Now.AddDays(1);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
/// <summary>
/// 获得cookie 的值
/// </summary>
/// <param name="cookieName"></param>
/// <returns></returns>
public static string GetCookieValue(string cookieName)
{
if (HasCookie(cookieName))
{
return HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies[cookieName].Value);
}
else
{
return "";
}
}
}
}
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
相关文章推荐
- Cookie不能保存中文解决方式
- mysql数据库不能插入中文问题解决方案
- ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)
- ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)
- ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)
- phabrocator中文路径不能识别问题解决方案
- ubuntu 16.04下搜狗输入法不能输入中文解决(linux下常见软件崩溃问题解决方案)
- django解决Cookie不能存入中文字符问题
- JavaScript读取中文cookie时的乱码问题的解决方法
- SubLime Text3 Python不能输出中文的解决办法
- 解决Linux mysql 中文乱码问题方案
- 解决:在js中拼接html中,调用方法只能传递数字,不能传递字母或者中文
- spring提供的解决中文乱码方案
- 解决qt程序在板子上不能正常显示中文的问题
- paip.解决中文url路径的问题图片文件不能显示
- 解决cookie中文乱码问题
- RSS Bandit 不能显示中文界面的解决方法
- 解决Office Word不能切换中文输入
- Codeigniter购物车类不能添加中文的解决方法
- 解决php pdo传中文给mysql乱码的方案