DecodeURI

From PlainOldWebserver

Jump to: navigation, search

This is useful for incoming form data. Important here is that spaces turn into '%20', not '+'.


  <?sjs
    var enc_uri = encodeURI("Javascript Rules! ");
    document.writeln(" encoded is "+enc_uri);
    var de_uri = decodeURI(enc_uri);
    document.writeln(" decoded is "+de_uri);
  ?>

Result:

  encoded is Javascript%20Rules!%20
  decoded is Javascript Rules!

DecodeURI() can take you to a new level of internationalization irritation with the following character set problem.


  <html>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <body>
  <?sjs
    var de_uri = decodeURI(enc_uri);
    document.writeln(" decoded is "+de_uri);
    var de_uri =  decodeURI("%E4%BC%81%E4%B8%9A");
    document.writeln(" decoded is "+de_uri);
  ?>
  <script>
     var de_uri = decodeURI("%E4%BC%81%E4%B8%9A");
     document.writeln(" decoded is "+de_uri);
  </script>
  </body>

Result:

  decoded is ��
  decoded is 企业
Personal tools
Navigation