acento cuestión ajax codificación
-
19-09-2019 - |
Pregunta
Archivo de origen tiene:
header('Content-type: text/html; charset=iso8859-1');
Fuente ajax (jQuery) guión es:
$(document).ready(function() {
$.ajaxSetup({
cache: false
});
$("#searchfield").keyup(function(){
$("#insert_search")
.load('ajax/searchobjects.php', {search_word: $("#searchfield").val()}, function(){
});
});
});
El archivo de destino:
header('Content-type: text/html; charset=iso8859-1');
echo $_POST['search_word'];
Los datos enviados:
é
El resultado es:
é
Todos los archivos:
Western (ISO Latin 1) (using TextWrangler)
Lo curioso:. Me puede insertar registros en MySQL bien con acentos
Solución
Esto se debe a que se está mostrando codificación UTF-8 de E (0xC3, 0xa9) como Latin-1. Por lo que el search_word fue codificado como UTF-8 cuando se ha publicado en PHP.
Prueba de esto,
$.ajaxSetup({
scriptCharset: "iso-8859-1",
cache: false
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow