Search code examples
javascripturl-encoding

How to decode url-encoded string in javascript


I use javascript / jquery to fill dom elements that contain umlauts:

var text1 = "Unser platonisches Internetreich droht in die H%E4nde einer bewaffneten Miliz zu fallen."

$("#quote1 span").html(unescape(text1));

How can I get rid of the url encoding e.g. "H%E4nde" and use "Hände" instead? I tried

<meta charset="utf-8" />

<meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>

<script type="text/javascript" src="js/index.js" charset="utf-8"></script>

But none of them seem to work...

Thanks for help.


Solution

  • That is not UTF-8, that is percent encoding also known as url encoding.

    You can use decodeURIComponent() to convert it back before displaying it

    $("#quote1 span").html(decodeURIComponent(text1));