Tengo una fuente de texto que me envía cadenas codificadas, en su mayor parte, la función JavaScript decodeURIComponent(escape(str)) funciona, pero he registrado algunos caracteres extraños "desconocidos" que rompieron la función decodeURIComponent, por ahora tengo un solución alternativa con replaceAll:
function fixWeirdCharacters(str){ return str.replaceAll('à ', "a").replaceAll('Ó','O').replaceAll('ÇÃO','CAO').replaceAll('Ú','U').replaceAll('ÃÂ','A').replaceAll('ó','o').replaceAll('ÇÕ','CO').replaceAll('É','E'); }los siguientes caracteres me dieron error hasta ahora (carácter codificado = cadena esperada):
à = à Ó = Ó ÃƒÂ‡ÃƒÂƒO = ÇÂO Ú = Ú ÃƒÂ = À ó = ó ÇÕ = ÇÕ Ã‰ = Éla suposición del carácter correcto se hizo mirando la palabra completa, el propósito principal es decodificarlo a UTF-8 y usarlo en una página normal de HTML 5
¿Alguna idea de qué podría estar creando esos caracteres o cómo decodificarlos correctamente usando solo JavaScript?
Obs: Traté de decodificarlos en PHP usando urldecode(), y el resultado es un "?" personaje de caja..