免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2601 | 回复: 8
打印 上一主题 下一主题

请教一个 JAVASCRIPT 问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-10 16:49 |只看该作者 |倒序浏览
[code]





我在CGI中把"汉字" 变为16进制  babad7d6  (去掉了%号的 %ba%ba%d7%d6)编码为格式。 保存在COOKIE中

在网面中 中使用下面的JAVASCRIPT 函数 还原后变成了乱码     ×

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2003-09-10 18:08 |只看该作者

请教一个 JAVASCRIPT 问题。

Temp+='%'+str.substring(i,i+2);

论坛徽章:
0
3 [报告]
发表于 2003-09-10 18:39 |只看该作者

请教一个 JAVASCRIPT 问题。

不行的,刚开始时也是  Temp+='%'+str.substring(i,i+2);

这样写的。

最后返回之前用 unescape().  但是不行,


试过用escape()把中文字编码。得到的是 %u9383   这样的码,而不是 %FF ,

有高手,有其它办法吗?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-09-10 18:53 |只看该作者

请教一个 JAVASCRIPT 问题。

你為什麼要用escape???
Temp已經等於%ba%ba%d7%d6啦..
拿去http://xxxx/xxx.xx?abc=%ba%ba%d7%d6
Web Server 會自動幫你轉回來的...
如果你是要把babad7d6轉成gb碼的話...
可以考慮用$data = pack("H*","babad7d6");
一樣會轉回來...只是cookie也要用perl去切割..
%cookies = map split(/=/), split(/; /,$ENV{'HTTP_COOKIE'});

另外unescape是用來轉換Latin-1的字元..並非GB碼....
除非你的本文都是英文..否則還是用perl來處理比較好一點..:)

论坛徽章:
0
5 [报告]
发表于 2003-09-10 20:48 |只看该作者

请教一个 JAVASCRIPT 问题。

CGI里没问题,我能处理。

babad7d6 是从COOKIE里读取的。我可不想为了这个值再去请求一次服务器。

问到底我的意思是用 JAVASCRIPT  怎么所 字符串%ba%ba%d7%d6   还原为中文。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2003-09-12 10:15 |只看该作者

请教一个 JAVASCRIPT 问题。

你可能有點誤會我的意思...:)我的意思是說..你如果用Perl寫CGI..
可以用
%cookies = map split(/=/), split(/; /,$ENV{'HTTP_COOKIE'});
取得cookie裡面的數值...然後用
$data=pack("H*",$cookies{"CCCC"});
將該中文字取出來..
然後再寫回javascript中....
print <<TTT;
<script language=javascript>;
alert($data+"");
</script>;
TTT
   
如果都要用javascript..因為目前我不在公司...身邊沒書..:)
下星期再找找看...
Best Regards..

论坛徽章:
0
7 [报告]
发表于 2003-09-12 18:13 |只看该作者

请教一个 JAVASCRIPT 问题。

谢谢楼上的好心人,你也把我意思搞反了,    我是在页面(html文件)中用javascript取得的COOKIE中的值,(%d4%d3)然后想转换为中文字。

论坛徽章:
0
8 [报告]
发表于 2003-09-12 18:29 |只看该作者

请教一个 JAVASCRIPT 问题。

为什么不把汉字先用escape编码,再放到cookie里?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
9 [报告]
发表于 2003-09-15 08:40 |只看该作者

请教一个 JAVASCRIPT 问题。

剛剛查了一下手邊的javascript語法辭典..只看到escape與unescape兩種,
只能轉換ISO-Latin-1與英文字,其他編碼,似乎沒有提供,也許對於java
script這種Client Side的語言..那是沒必要的..:)
建議你再改改代碼..為什麼不直接在cookie中使用中文??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP