Foros del Web » Programando para Internet » PHP »

Problemas con la Codificación de la bd

Estas en el tema de Problemas con la Codificación de la bd en el foro de PHP en Foros del Web. Hola compañeros, tengo una base de datos con cotejamiento de las conexiones y de las tablas en utf8_general_ci, y la cabecera y archivo HTML en ...
  #1 (permalink)  
Antiguo 14/04/2011, 17:05
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Problemas con la Codificación de la bd

Hola compañeros,

tengo una base de datos con cotejamiento de las conexiones y de las tablas en utf8_general_ci, y la cabecera y archivo HTML en UTF-8, sin embargo al mostrar los resultados de la bd no me interpreta correctamente las tildes. ¿Debo codificar ademas alguna función?

Amen de la codificación

Un saludo ;)
  #2 (permalink)  
Antiguo 14/04/2011, 17:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con la Codificación de la bd

El archivo HTMLen UTF-8?, te refieres a que incluiste una etiqueta META para definir el juego de caracteres? o tambien tienes todos tus archivos PHP guardados como utf?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 14/04/2011, 18:03
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problemas con la Codificación de la bd

Cita:
Iniciado por Triby Ver Mensaje
El archivo HTMLen UTF-8?, te refieres a que incluiste una etiqueta META para definir el juego de caracteres? o tambien tienes todos tus archivos PHP guardados como utf?
Hola Triby, como indique arriba la cabecera y el archivo, es decir, el meta y la codificación del archivo.
  #4 (permalink)  
Antiguo 14/04/2011, 18:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con la Codificación de la bd

Ok, entonces habria que revisar si el contenido de la base de datos fue ingresado originalmente con la misma codificacion. Tienes acceso por PhpMyAdmin?, revisa si ahi te salen bien las tildes o no, te daria una buena pista para buscar el problema.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 14/04/2011, 18:17
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problemas con la Codificación de la bd

Los datos los ingresé desde la consola de MySQL y se muestran correctamente en la bd ^-^
  #6 (permalink)  
Antiguo 14/04/2011, 18:21
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con la Codificación de la bd

Y que juego de caracteres maneja por default la consola de MySQL?... la verdad desconozco ese dato.

Pero, para descartar posibilidades, que te parece si tomas uno de los datos que sabes que no se muestran correctamente y lo muestras en la pagina con utf8_encode()
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 14/04/2011, 18:26
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problemas con la Codificación de la bd

Que tal erxaca,

Comproba el encoding con el que esta sirviendo apache, sino es UTF-8, lo podes setear a través del .htaccess, al inicio del mismo agrega:

Código Apache:
Ver original
  1. AddDefaultCharset UTF-8

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #8 (permalink)  
Antiguo 14/04/2011, 18:28
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problemas con la Codificación de la bd

Ya probé el utf8_encode() al visualizar una de esas cadenas problemáticas y efectivamente se visualiza correctamente, pero no entiendo porque es necesario si todo esta en UTF-8...
  #9 (permalink)  
Antiguo 14/04/2011, 18:29
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problemas con la Codificación de la bd

Cita:
Iniciado por masterpuppet Ver Mensaje
Que tal erxaca,

Comproba el encoding con el que esta sirviendo apache, sino es UTF-8, lo podes setear a través del .htaccess, al inicio del mismo agrega:

Código Apache:
Ver original
  1. AddDefaultCharset UTF-8

Saludos.
Hola masterpuppet, como puedo comprobar el encoding de apache?

De todas formas no funcionó colocando esa directiva en el htacess
  #10 (permalink)  
Antiguo 14/04/2011, 18:34
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problemas con la Codificación de la bd

Con firefox, boton derecho arriba de la pagina, y selecciona ver información de la pagina, donde dice Codificación es el encoding con el que sirve apache.

Los campos de las tablas estan en utf8 ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #11 (permalink)  
Antiguo 14/04/2011, 18:44
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con la Codificación de la bd

Cuando cargaste la informacion a la base de datos, especificaste en la consola el juego de caracteres a usar?

SET NAMES 'utf8';

Referencia: http://dev.mysql.com/doc/refman/5.0/en/charset.html
__________________
- León, Guanajuato
- GV-Foto
  #12 (permalink)  
Antiguo 14/04/2011, 18:47
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problemas con la Codificación de la bd

Cita:
Iniciado por masterpuppet Ver Mensaje
Con firefox, boton derecho arriba de la pagina, y selecciona ver información de la pagina, donde dice Codificación es el encoding con el que sirve apache.

Los campos de las tablas estan en utf8 ?
Esta correcto tanto el myme-type como el encoding marcan UTF-8.

Si te refieres al cotejamiento, si, esta en utf8_general_ci

Cita:
Cuando cargaste la informacion a la base de datos, especificaste en la consola el juego de caracteres a usar?

SET NAMES 'utf8';

Referencia: http://dev.mysql.com/doc/refman/5.0/en/charset.html
Pues no usé esa especificación, solo el default charset:
Código PHP:
CREATE TABLE tipo_otros_productos (
  
id_tipo_otro_producto smallint(2NOT NULL AUTO_INCREMENT,
  
tipo varchar(50NOT NULL,
  
PRIMARY KEY (id_tipo_otro_producto)
ENGINE=InnoDB  DEFAULT CHARSET=utf8
Lo comprobaré y os digo
  #13 (permalink)  
Antiguo 14/04/2011, 19:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problemas con la Codificación de la bd

No se que tan conveniente pueda ser, pero, normalmente cuando defino tablas incluyo la codificacion y tambien "COLLATE", alguna vez me paso que PhpMyAdmin (o fue HeidiSQL?) me cambio algun parametro y surgieron problemas.

Ejemplo:
Código SQL:
Ver original
  1. CREATE TABLE DBPREFIX_config (
  2.   cfg_module VARCHAR(10) COLLATE latin1_spanish_ci NOT NULL,
  3.   cfg_variable VARCHAR(30) COLLATE latin1_spanish_ci NOT NULL,
  4.   cfg_value text COLLATE latin1_spanish_ci NOT NULL
  5. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

Ahora, antes de ejecutar cualquier operacion SQL, primero verifico el juego de caracteres del cliente (PhpMyAdmin, HeidiSQL, etc.) y despues inicio los procesos.

P.D. A mi me gusta mas ISO que UTF.
__________________
- León, Guanajuato
- GV-Foto
  #14 (permalink)  
Antiguo 14/04/2011, 19:12
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problemas con la Codificación de la bd

No he probado aún el SET NAMES 'utf8'; porque no se donde va jejejje.

Bueno probé añadiendo el cotejamiento a las tablas y tampoco...

Ya me echo a dormir y espero mañana ver como solo se arregla

Saludos y gracias ;)

Etiquetas: bd
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 13:04.