Hi there, today I decided to tackle a problem that has been on my todo list for a long time: I have a token with a GM notes that contain a JSON. This describes stats, weapons and abilities for that token. I load that data into my own custom turnorder that handles rolls and pretty much anything else for me. Reading the JSON is not that problematic and works well, UNLESS I have a german umlaut in the JSON , then I get a URI malformed exception. This is the problem I'd like to solve. decode = decodeURIComponent ( gmnotes ). toString (). replace ( /< \/? [^ > ] + >/ gi , '' ); // Remove HTML decode = decode . replace ( /&nbsp;/ g , "" ); // Remove non breaking whitespaces decode = decode . replace ( /\n/ g , "" ); // Remove newlines As far as my observation goes, the incoming encoded string is encdoed in ISO 8859-1 but the decodeURIComponent only reads UTF-8 and as a result breaks down while trying to parse the string. I tried to google the problem but the given solution modifies the the creation of the encoded string to use UTF-8, which I cannot do. Do you guys have a solution for this? EDIT: One solution that easily comes to mind is to translate the characters from ISO to UTF-8 before by replacing those. But maybe this can be done more elegantly? decode = decode . replace ( "%C4" , "%C3%84" ); //Ä decode = decode . replace ( "%E4" , "%C3%A4" ); //ä decode = decode . replace ( "%DC" , "%C3%9C" ); //Ü decode = decode . replace ( "%FC" , "%C3%BC" ); //ü decode = decode . replace ( "%D6" , "%C3%96" ); //Ö decode = decode . replace ( "%F6" , "%C3%B6" ); //ö