【www.bbyears.com--中文酷站】
关于cookie中文乱码解决办法
后台:
存值 (使用 HttpUtility.UrlEncode 进行编码)
Response.Cookies("ABC").Value = HttpUtility.UrlEncode("ABC")
取值 (使用 HttpUtility.UrlDecode 进行解码)
Str = HttpUtility.UrlDecode(Request.Cookies("ABC").Value)
和JS进行交互:
在用js生成的cookie生用asp教程.net后台来读取的时候发现中文乱码
解决方法
System.Text.Encoding enc = System.Text.Encoding.GetEncoding("gb2312");
string cookie = Request.Cookies["outputData"].Value;
string cookievalue= HttpUtility.UrlDecode(cookie, enc);
实例
例子:
Cookie的写入:
1HttpCookie cookie=new HttpCookie("Simple");
2cookie.Values.Add("Simple1",HttpUtility.UrlEncode("你好!"));
3cookie.Values.Add("Simple2","English is OK!Nothing we should do!");
4Response.AppendCookie(cookie);
Cookie的读取:
1HttpCookie cookie=Request.Cookies["Simple"];
2string simple1=HttpUtility.UrlDecode(cookie["Simple1"]);
3string simple2=cookie["Simple2"];
这样simple1="美你好!";simple2="English is OK!Nothing we should do!";
注:有把HttpUtility用Server替换的,哪个好使明天再试。
js cookie乱码处理方法
function gotojb( value )
{
var name = "jb";
var exp = new Date();
exp.setTime(exp.getTime() + 999*24*60*60*1000);
document.cookie = name + "="+ escape(value) +";expires="+ exp.toGMTString();
window.location.reload();
}
php教程处理方法
if( isset( $_COOKIE["cityname"]) )
{
$cityname = unescape($_COOKIE["cityname"]);
if( $cityname=="全国" )
{
$where ="";
}
else
{
$where .=" and area1="$cityname"";
}
}