Cookie到底是用的什么编码方式?

gaofaq 2005-02-17 02:58:44
为什么我用Javascript取出Cookie里面的Username,然后用unescape()得到的是乱码?

我测试了一下,用Cookie记录的“高压锅”三个字是“%B8%DF%D1%B9%B9%F8”,而用escape()得到是“%u9AD8%u538B%u9505”。

用什么方法才能从Cookie里面取出正确的汉字?
...全文
397 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
L0ading 2005-03-02
  • 打赏
  • 举报
回复
up
GageCSDN 2005-02-17
  • 打赏
  • 举报
回复
ASP里的Server.URLEncode可以得到这样效果
如果你安装了网络实名,在?IE的地址栏直接输入“高压锅”后敲回车,就会被转成“%B8%DF%D1%B9%B9%F8”了。
vivianfdlpw 2005-02-17
  • 打赏
  • 举报
回复
客户端Cookie中文编程
http://www.yesky.com/20001128/139005.shtml
meizz 2005-02-17
  • 打赏
  • 举报
回复
那是 URLEncode() 编码, 在网页里用 request 取的话是不用任何解密的, 系统认它, 不过你也可以自己写一个解密函数:
<script language="vbscript">
dim str
str="%B8%DF%D1%B9%B9%F8"
alert URLDecode(str)
function URLDecode(enStr)
dim deStr,strSpecial
dim c,i,v
deStr=""
strSpecial="!""#$%&'()*+,.-_/:;<=>?@[\]^`{|}~%"
for i=1 to len(enStr)
c=Mid(enStr,i,1)
if c="%" then
v=eval("&h"+Mid(enStr,i+1,2))
if inStr(strSpecial,chr(v))>0 then
deStr=deStr&chr(v)
i=i+2
else
v=eval("&h"+Mid(enStr,i+1,2)+Mid(enStr,i+4,2))
deStr=deStr&chr(v)
i=i+5
end if
else
if c="+" then
deStr=deStr&" "
else
deStr=deStr&c
end if
end if
next
URLDecode=deStr
end function
</script>
BillSmiph 2005-02-17
  • 打赏
  • 举报
回复
savecookie()存储

getCookie()取出

应该不会出现乱吗

87,916

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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