Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/07/2009, 23:57
diegoturriaga
 
Fecha de Ingreso: noviembre-2004
Ubicación: Buenos Aires
Mensajes: 34
Antigüedad: 20 años
Puntos: 0
Problemas con Ñ, tildes, etc (2)

Bueno parece que somos muchos los que tenemos problemas con este tema...

- Todas las tables de MySQL usan charset latin1 y el servicio de mySql también (configurado en el único my.ini/cnf que tengo)

- Todas las páginas HTML tienen en el HEAD el content type:
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />

Utilizo PHP y hago idas y vueltas de datos usando AJAX...

Y el problema, lo de siempre: los caracteres especiales se guardan mal; por ejemplo, la palabra ÑANDÚ se almacena ÑANDÊ y la palabra PINGÜINO resulta PINGÃŒINO. Digo que solo se almacenan mal porque si lo corrigo en la BD entonces en el sitio se muestran bien.

Desde el cliente uso ajax para enviarle los datos del form al script php encargado de guardar los datos. Les dejo el fragmento de javascript:

var url = $urlGet('../tarea/guardarDatosPersonales.php', idForm);
$Ajax(url, {
onfinish: registracionOK,
onerror: registracionError,
tipoRespuesta: $tipo.JSON
});

Uso la biblioteca prototype en combinación con el script para trabajar con ajax que está en esta página: http: // www . informaticaunlam . com. a r/?page_id=22 (espero que no sea considerado SPAM)

Ya del lado del servidor la página php que guarda los datos simplemente lee los datos recibidos y (finalmente luego de validaciones y cosas aburridas;) arma la consulta SQL para hacer el INSERT y la ejecuta.

$V1 = $_GET['V1'];
$V2 = $_GET['V2'];
...
$Vn = $_GET['Vn'];
...
$insert = "INSERT INTO usuario (D1,D2,...,Dn) VALUES ($V1,$V2,...,$VN);
$rsMySQL = mysql_query($insert, $conexion);

----- inicio de la edición -----

Sería importante aclarar que ya, en este punto, en el string de la consulta los caracteres extraños aparecieron... eso es que el error está cuando se envian los campos (en el AJAX) o bien cuando los lee el PHP.

----- fin de la edición -----

Bueno, esto con mucho resumen pero tratando no olvidarme de nada es todo. Pro lógica todo está configurado para usar el mismo charset así que no entiendo cuál es el problema...

Cualquier ayuda, guia y/o comentario es bienvenido.

Gracias de antemano! Diego

Última edición por diegoturriaga; 21/07/2009 a las 00:05