Estoy trabajando en un registro a la base de datos y tengo problemas con los acentos. He estado investigando por internet y aconsejan que cambies la codificación a UTF-8 (y eso he hecho) y que definas las variables de una manera determinada.
El registro consta de tres partes:
registro.php el formulario que envía los datos donde he puesto: <meta http-equiv="content-type" content="text/html; UTF-8" />
funciones.js que contiene el envío ajax: peticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; UTF-8');
Y inscribir.php donde se registra a la base de datos: header('Content-Type: text/html; UTF-8');
Por supuesto, también he modificado los campos de la base de datos. También había probado con latin1 y con el por defecto: iso-8859-1 (aunque es cierto que en estos dos casos había olvidado modificar funciones.js). Y no hay forma.
Por otra parte, aconsejan definir las variables como: $nombre=stripslashes(htmlentities(strtolower($_POST['nombre']))); Antes las tenía como: $nombre=mysql_real_escape_sting(strtolower($_POST['nombre']));
Con ninguno de los cambios he podido cambiar nada. Sigue guárdandome carácteres extraños. He investigado y si hago un print $nombre; antes de insertar los datos, ya están mal codificados. ¿Alguna idea para solucionar el dichoso problema?
Gracias de antemano.
Editado por EffectedCard, Lunes, 13 de Julio de 2009, 00:46
Parece que le sacas ya mal. En la base de datos seguro que esta bien. Yo probaria a hacer una .php que tan solo te saque un registro, y te le muestre, a ver que tal va...
Pruebalo a ver que tal te va. Aunque claro yo en ese archivo extraia los datos ya correctos...no se si te servira. Pero bueno , por intentar no se pierde nada. Saludos!.
Editado por aerialss88, Lunes, 13 de Julio de 2009, 21:38
Sí, si el error tiene que estar en registro.php, pero no lo entiendo.
Hay la misma forma de "codificar" que en http://effectedcard.webcindario.com/bar/adm_comensales.php?pag=1 y ahí funciona bien. Lo cual hace pensar que en la base de datos está todo correcto. Voy a probar darle al config.php y a funciones.php la misma codificación por si fuera tema de que, al hacer el include, cambiaran la codificación.
aerials88, tu método no ha funcionado.
Gracias a ambos en cualquier caso. Voy a probar eso y digo algo.
EDITO: No, eso tampoco ha funcionado. Todo sigue igual. ¿Más ideas? =S
Editado por EffectedCard, Lunes, 13 de Julio de 2009, 22:43
Todo claro y solucionado. Si lo guardo con htmlentities, hay que sacarlo con html_entity_decode. En uno sí lo había puesto, en el otro se me ha pasado. ¡Gracias y lo siento!
Editado por EffectedCard, Lunes, 13 de Julio de 2009, 22:54
TU NO PUEDES Escribir nuevos temas en este foro TU NO PUEDES Responder a los temas en este foro TU NO PUEDES Editar tus propios mensajes en este foro TU NO PUEDES Borrar tus propios mensajes en este foro
Todas las fechas y horas son GMT+1. Ahora son las 20:48
Miarroba Networks, S.L. C/ 18 de Julio, 21 Bajo, 39610 Astillero (CANTABRIA) - CIF B-39512736 Inscrita en el Registro Mercantil de Cantabria, tomo 743, folio 161, libro 0, hoja S-12428, Inscripción 1ª