一、在地址栏直接输入:
javascript:str=encodeURI("笃行天下"); alert(decodeURI(str));
然后回车,即可弹出“笃行天下”。我把str=encodeURI("笃行天下"); 的值记下来,是:"%E7%AC%83%E8%A1%8C%E5%A4%A9%E4%B8%8B";二、然后我吧地址栏的代码改成:
javascript:alert(decodeURI("%E7%AC%83%E8%A1%8C%E5%A4%A9%E4%B8%8B")); 
弹出的却是乱码。三、而在页面里这样写:
<BODY><Script language="JavaScript"> 
<!-- 
alert(decodeURI("%E7%AC%83%E8%A1%8C%E5%A4%A9%E4%B8%8B")); //--> 
</Script> </BODY>
却也能正常弹出“笃行天下”。这是为什么呢?为什么二、中是乱码呢?

解决方案 »

  1.   

    decodeURI("%E7%AC%83%E8%A1%8C%E5%A4%A9%E4%B8%8B"); 
    decodeURI("笃行天下"));   本来就是对两个字符串进行处理,没有什么可比性。 没有什么想不通的吧。只是笃行天下 的acsii码是:%E7%AC%83%E8%A1%8C%E5%A4%A9%E4%B8%8B
      

  2.   

    我试了一下,在FF里【javascript:alert(decodeURI("%E7%AC%83%E8%A1%8C%E5%A4%A9%E4%B8%8B"));】弹出的不是乱码。
      

  3.   


    显然你没理解我意思,
    一和二的区别就是借助了一个变量str。为啥借助变量就不会产生乱码呢?