Decode UTF-8 with Javascript
javascript, unicode, utf8-decode, xhtml-transitional
Solution
To answer the original question: here is how you decode utf-8 in javascript:
http://ecmanaut.blogspot.ca/2006/07/encoding-decoding-utf8-in-javascript.html
Specifically,
function encode_utf8(s) {
return unescape(encodeURIComponent(s));
}
function decode_utf8(s) {
return decodeURIComponent(escape(s));
}
We have been using this in our production code for 6 years, and it has worked flawlessly.
Note, however, that escape() and unescape() are deprecated. See this.
Problem
I have Javascript in an XHTML web page that is passing UTF-8 encoded strings. It needs to continue to pass the UTF-8 version, as well as decode it. How is it possible to decode a UTF-8 string for display? ``` <script type="text/javascript"> // <![CDATA[ function updateUser(usernameSent){ var usernameReceived = usernameSent; // Current value: Größe var usernameDecoded = usernameReceived; // Decode to: Größe var html2id = ''; html2id += 'Encoded: ' + usernameReceived + '<br />Decoded: ' + usernameDecoded; document.getElementById('userId').innerHTML = html2id; } // ]]> </script> ```