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 ( / / 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" );  //ö