He estado una temporada codificando con Aptana Studios y teniendo que usar el notepad para editar ciertos scripts, ya que Aptana parece completamente incapaz de mostrar caracteres latinos por mucho que intente modificarlo, motivo por el que voy a cambiar por completo a Zend Studio.
De vez en cuando las páginas me daban un error relativo al session_start sugiriendo que los headers ya se habían mostrado (headers already sent). Tras investigar, vi que se trataba de o bien el notepad estaba dejando algún carácter de codificación delante del primer carácter real o algo raro estaba pasando con la transición al Aptana posteriormente. Hoy empezó a aparecer además la combinación . Descubrí que si guardaba con el Wordpad el problema se solucionaba inmediatamente.
El notepad parece que guarda por defecto en UTF8, lo que provoca conflicto con el ISO-8859-1. Voy a recalcar, por lo tanto, que JAMÁS hay que editar un script en el notepad aunque sea una urgencia o parezca no haber alternativa de momento. Ahora estoy probando el PSPad, que será, asumo, competente.
Mostrando entradas con la etiqueta charset. Mostrar todas las entradas
Mostrando entradas con la etiqueta charset. Mostrar todas las entradas
viernes, 12 de junio de 2009
martes, 24 de marzo de 2009
Ajax y problemas con el encoding
En algunos casos, aunque la base de datos parezca correcta, los navegadores no muestran bien los datos o tienen problemas con la codificación cuando se usan técnicas de Ajax. Para solucionarlo, hay que asegurarse de que las pequeñas páginas php que se encargan de realizar las operaciones de Ajax lleven un header apropiado. Además, conviene convertir los $_GET y los $_POST que se pasen desde javascript al charset correcto:
header('Content-type: text/html; charset=iso-8859-1');
//+
$texto = iconv("UTF-8", "iso-8859-1", $_POST['texto']);
header('Content-type: text/html; charset=iso-8859-1');
//+
$texto = iconv("UTF-8", "iso-8859-1", $_POST['texto']);
Etiquetas:
ajax,
charset,
compatibilidad,
javascript,
programación web
Suscribirse a:
Entradas (Atom)