Foros del Web » Programando para Internet » PHP »

Codificación utf-8 fallida MySql->PHP

Estas en el tema de Codificación utf-8 fallida MySql->PHP en el foro de PHP en Foros del Web. Buenas Estoy teniendo un problema con una codificación, he comprobado cada elemento varias veces pero algo se me debe estar olvidando y no logro ver ...
  #1 (permalink)  
Antiguo 27/04/2012, 09:16
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Codificación utf-8 fallida MySql->PHP

Buenas

Estoy teniendo un problema con una codificación, he comprobado cada elemento varias veces pero algo se me debe estar olvidando y no logro ver la luz

La base de datos esta en utf8_general_ci
La tabla está en utf8_general_ci
El campo está en utf8_general_ci

La codificación de la página HTML es utf-8
El cabezal lo he modificado tambien con PHP por si acaso a UTF-8
El archivo está guardado con codificación UTF-8 Sin BOM

No hay ningún problema en imprimir tildes o eñes:

Código PHP:
echo "tíldé"
Cita:
Iniciado por salida de impresion
tíldé
El problema es exclusivamente al imprimir tildes o eñes sacadas de la BD:

Código PHP:
$MQs=mysql_query("SELECT some FROM tabla;");
$MFAs=mysql_fetch_array($MQs);
echo 
$MFAs['some']; 
Cita:
Iniciado por salida de impresion
t�ld�
Sin embargo no hay problema si son tildes o eñes definidos no almacenados en BD:

Código PHP:
$MQs=mysql_query("SELECT 'tíldé' AS some;");
$MFAs=mysql_fetch_array($MQs);
echo 
$MFAs['some']; 
Cita:
Iniciado por salida de impresion
tíldé
Saludos!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #2 (permalink)  
Antiguo 27/04/2012, 09:40
Avatar de fermin3d  
Fecha de Ingreso: octubre-2010
Ubicación: sevilla
Mensajes: 141
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Codificación utf-8 fallida MySql->PHP

Yo tenia el mismo problema y lo sulucione con esto

<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">

bueno no se te te prodra ayudar un saludo.
  #3 (permalink)  
Antiguo 27/04/2012, 09:42
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 6 meses
Puntos: 45
Respuesta: Codificación utf-8 fallida MySql->PHP

Hola stramin

prueba a ejecutar la siguiente consulta antes de cualquier cosa

Código PHP:
Ver original
  1. mysql_query("SET NAMES 'utf8'",$con);
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #4 (permalink)  
Antiguo 27/04/2012, 10:31
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Codificación utf-8 fallida MySql->PHP

Muchas gracias malakian, eso faltaba, ahora todo se ve perfecto! te debo una

Gracias tambien fermin3d
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #5 (permalink)  
Antiguo 11/05/2012, 09:31
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Codificación utf-8 fallida MySql->PHP

Hola a todos, he vuelto a este tema por que si bien la solución para mostrar caracteres ha funcionado bien en todo el sitio, desde que realicé ese cambio las inserciones o actualizaciones a la BD han comenzado a fallar con tildes y eñes.

me explico, cuando quiero insertar "Señora Carín" o sea:

mysql_query("INSERT INTO tablita VALUES('Señora Carín')",$con);

En la BD se guarda "Se" (no se inserta nada despues de la eñe), si quito lo que me dijo malakian funciona bien, pero todos los caracteres de la página vuelven a fallar.

Una solución que he encontrado es esta:

mysql_query(utf8_encode("INSERT INTO tablita VALUES('Señora Carín')"),$con);

codificando las cadenas a insertar en UTF funciona correctamente, el problema es que no se si sea lo más eficiente modificar TODOS los insert y updates del sitio con esto.

Espero que puedan ayudarme, agradezco cualquier pista!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #6 (permalink)  
Antiguo 11/05/2012, 11:59
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Codificación utf-8 fallida MySql->PHP

Problema solucionado gracias a emprear

Solucion: usar header("Content-Type: text/html;charset=utf-8"); en todas las páginas
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: html, mysql-php, sql, tabla, utf-8
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:58.