Cookie出现乱码?

wzwen 2008-12-05 10:52:14
Cookie出现乱码?

取值时显示:鐜嬩互杞┕饬伲?



写入:
setcookie("wyx",$wyx_name,time()+3600000);


取出:
echo "欢迎". $_COOKIE[wyx] . "光临!";

小弟初学,帮助贴下正确的写法,谢谢...
...全文
173 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxccccxxxewe 2010-04-16
  • 打赏
  • 举报
回复
我也有乱码。FUCK
Zijian_Zhang 2008-12-06
  • 打赏
  • 举报
回复
这个是网页的编码问题,你统一一下编码(数据库[如果变量来自数据库]、网页、Apache等)
你试一下在PHP源代码的顶部加上以下代码
(编码为GB2312,如果是其它,把GB2312改成其它的编码就可以了[如UTF-8])
(必须在没有任何输出前些):
header('Content-Type:text/html;charset=GB2312');

如果变量来自数据库,在数据库查询之前,加上(如果编码为GBK(兼容GB2312),如果是其它,把GBK改成其它的编码就可以了[如UTF8]):
mysql_query("set names gbk");
justicesun 2008-12-06
  • 打赏
  • 举报
回复
乱码跟存储,header,数据库,浏览器都有关系


无论怎样...header里面加上
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
之一 即可解决



解决乱码看

http://download.csdn.net/source/553846
justicesun 2008-12-06
  • 打赏
  • 举报
回复
转自:

http://0576pk.com.cn/?viewthread-779

2、 SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面才可以看到Cookie值。原因很简单。SetCookie()执行之后,往客户端发送一个cookie,你不刷新或浏览下一个页面,客户端怎么把cookie给你送回去呀?浏览器创建了一个Cookie后,对于每一个针对该网站的请求,都会在Header中带着这个Cookie;不过,对于其他网站的请求Cookie是绝对不会跟着发送的。而且浏览器会这样一直发送,直到 Cookie过期为止。

justicesun 2008-12-06
  • 打赏
  • 举报
回复
分两页写...第一页写
setcookie("wyx",$wyx_name,time()+3600000);

第二页写
echo "欢迎". $_COOKIE[wyx] . "光临!";

就行了...


如果当前页想调用的话,设置的时候直接用$_COOKIE['wyx']就行
penglewen 2008-12-06
  • 打赏
  • 举报
回复
网页编码问题,
统一编码。在网页的头部加 header('Content-Type:text/html;charset=GB2312');
phpboy 2008-12-06
  • 打赏
  • 举报
回复
测试了一下,楼主的代码输出应该没有问题

应该是编码问题:

1.网页编码,数据库编码,存入、取出是否规定好编码...

2.存入、取出都要加上:
mysql_query("set names 'utf8'");

3.页面编码是否也一致:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
海诗美妆 2008-12-06
  • 打赏
  • 举报
回复
注意网页的编码设定。
phpboy 2008-12-06
  • 打赏
  • 举报
回复


使用的时候,有必要测试用户是否支持cookie

自己找的点资料,楼主可以看看

http://blog.csdn.net/phpBoy005/archive/2008/11/30/3413194.aspx
wzwen 2008-12-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 justicesun 的回复:]
分两页写...第一页写
setcookie("wyx",$wyx_name,time()+3600000);

第二页写
echo "欢迎". $_COOKIE[wyx] . "光临!";

就行了...


如果当前页想调用的话,设置的时候直接用$_COOKIE['wyx']就行
[/Quote]

的确就是分两页写的
第一个在登陆页面时写入
第二个在后台的欢迎页面上取出显示。。。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧