日期:2014-05-16  浏览次数:20545 次

url传的参数 编译
怎么把你传的参数在地址栏中编译成乱码 ?

------解决方案--------------------
最好的办法是加密……
------解决方案--------------------
encodeURI()
------解决方案--------------------
那不是乱码是有规律的,你不处理的话,那就是Unicode的编码格式,你可以加密,也可以用其他方法避免明文
------解决方案--------------------
CSS code

将url2次转码encodeURI(encodeURI(url));
到后台用
URLDecoder.decode(url, "UTF-8");
进行转码就可以得到传过来 的值了

------解决方案--------------------
JavaScript中escape函数是对 String 对象编码以便它们能在所有计算机上可读,使用方法:
escape(charString)
charstring是必选项,参数是要编码的任意 String 对象或文字。 

escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。字符值大于 255 的以 %uxxxx 格式存储。 

注意 escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。


<script language="javascript" type="text/javascript">
function UrlEncode(str){ 
var ret=""; 
var strSpecial="!\"#$%&'()*+,/:;<=>?[]^`{|}~%"; 
for(var i=0;i<str.length;i++){ 
var chr = str.charAt(i); 
var c=str2asc(chr); 
if(parseInt("0x"+c) > 0x7f){ 
ret+="%"+c.slice(0,2)+"%"+c.slice(-2); 
}else{ 
if(chr==" ") 
ret+="+"; 
else if(strSpecial.indexOf(chr)!=-1) 
ret+="%"+c.toString(16); 
else 
ret+=chr; 


return ret; 
}
</script>

------解决方案--------------------
用post