Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

144
Visualizações
Unicode sobre Ajax no se procesa correctamente

He buscado algo relacionado con esto, pero no encontré nada directamente equivalente, y nada que haya ayudado. Tengo una aplicación muy simple que obtiene datos del servidor usando Ajax (vainilla Javascript) pero los caracteres Unicode no se transfieren correctamente. Mi razonamiento es que este es un problema del lado del cliente, porque si accedo a la URL de Ajax directamente desde la barra de direcciones del navegador, se muestra correctamente.

He puesto un archivo console.log en Javascript como lo primero que hace al recibir una respuesta, y ya está dañado en este punto. He agregado xmlhttp.overrideMimeType('text/plain;charset=utf-8'); pero eso no tuvo ningún efecto visible.

Creé una página web mínima que muestra el comportamiento y la puse en mi servidor en http://www.amberel.com/test/unicodetest.htm . Simplemente presione el botón para ejecutar la función Ajax. La URL de Ajax es http://www.amberel.com/test/ajaxunicodetest.htm

Esta es la página web completa:

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ajax UTF-8 test</title> <meta name="viewport" id="viewport" content="width=device-width,initial-scale=1"> </head> <body> <div id="id-div-main"> <p>What it should look like: town=Chaitén</p> <button type="button" onclick="buttonAjaxClick()">Ajax</button> <p id="id-p-response"></p> </div> </body> </html> <script> function buttonAjaxClick() { try { var xmlhttp; xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET", "ajaxunicodetest.htm", true); // Didn't make any difference // xmlhttp.overrideMimeType('text/plain;charset=utf-8'); xmlhttp.send(); xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { console.log(xmlhttp.responseText); document.getElementById("id-p-response").innerHTML = "Ajax response: " + xmlhttp.responseText; } else if(xmlhttp.status == 404) { document.getElementById("id-p-response").innerHTML = "ajaxunicodetest.htm not found"; } else { document.getElementById("id-p-response").innerHTML = "ajaxunicodetest status: " + xmlhttp.status; } } }; } catch(err) { document.getElementById("id-p-response").innerHTML = "ajaxunicodetest: " + err; } } </script>

Estaría muy agradecido por cualquier idea sobre qué intentar a continuación, ya que he estado trabajando en esto durante algún tiempo.

Muchas gracias Andy

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Tienes que escribir para overrideMimeType:

 xmlhttp.overrideMimeType('text/xml; charset=iso-8859-1');

Esta respuesta primero se escribió en los comentarios, pero después de discutir con @Amberel, funcionó para él, y la ponemos aquí para que otros también puedan verla.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda