Charset con AJAX + PHP
Hola tengo un problema de codificacion de caracteres un tanto marciano.
Tengo un campo input con este texto: "Lista dos á ñ" (sin comillas). Se lo paso a un Ajax.Request que hace un POST con esto: "Lista%20dos%20%C3%A1%20%C3%B1".
El PHP recibe esto: "Lista dos á ñ", o sea, bien. Pero...
En la base de datos mete esto: "Lista dos á ñ". Y este es el problema.
Los documentos con el campo input, y el que hace el update tiene charset=utf-8, y la tabla de la BD también.
He probado a hacer escapes y unescapes, a codificarlo en charset=ISO-8859-1 uno si y otro no y toda su combinatoria, a esconder una piedra debajo de un botijo, me he encomendado todos los santos y a gran parte de sus muertos y ya desesperado os lo cuento a ver si hay alguien que le haya pasado esto.
Un saludo, Paulo.
pac
La miro en la propia tabla de la BD, con Navicat.
He buscado y buscado y buscando... me he topado con esto:
http://blog.ketari.com/post/2005/11/17/problema-con-mysql-41-phpmyadmin-y-utf-8
que viene a decir que poniendo esto:
@mysql_query("SET NAMES 'utf8'");
se arregla el tinglado. Muy técnico todo 8-).
Gracias por el interés. Un saludo.
dagi3d
la comprobación de lo que ha metido en la bd como lo estás haciendo? haciendo un query por consola o sacando los registros en otra web?
también puedas probar con la función ut8_encode para pasar de iso8859-1 a utf8 en caso de que los datos realmente le lleguen en iso