urlencode函数相关问题
我想对包含中文的url进行编码,如 http://127.0.0.1/temp/地址1.pl?a=是
但是我发现 urlencode 不仅对中文, 同时对其它非中文字符比如 / = 等也进行得编码, 而这时我所不想要的。
我只想对url中的中文进行编码, 又没有比较好的实现方案, 千万不要让我对
url 进行拆分,编码,然后再组合阿, 那太麻烦了。
期待。。。。
问题点数:50、回复次数:5Top
1 楼8988(晓月)回复于 2005-02-02 01:29:59 得分 44
这样可以吗?
function urlenc(url){
var i=0;
var s="";
var a;
while(i<url.length){
a=url.charCodeAt(i);
if (a>255){
a="0000"+a.toString(16);
s+="%u"+a.substr(a.length-4,4).toUpperCase();
}
else s+=url.substr(i,1);
i++;
}
return s;
}Top
2 楼clansoft(无神论者)回复于 2005-02-02 02:27:14 得分 0
不行
1. 需要php的实现
2. 你的程序与urlencode输出结果好象格式不同, %u 是什么?
Top
3 楼clansoft(无神论者)回复于 2005-02-02 09:15:18 得分 0
已经实现了
但是通过 socket 上送服务器,仍然forbiden
可是在ie浏览器栏输入,就没有问题
谁知道ie对中文url究竟如何做编码,然后送服务器?Top
4 楼lawyu(雨淋漓)回复于 2005-02-02 10:07:51 得分 6
:)关注Top
5 楼clansoft(无神论者)回复于 2005-02-04 08:19:00 得分 0
ie是编码:itf8
已经通过自编码表方式解决
谢谢各位Top




