Foros del Web » Programando para Internet » PHP »

cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Estas en el tema de cotejamiento de MySQL, mostrar datos en PHP y carácteres raros.. en el foro de PHP en Foros del Web. Hola amigos, Vereis, os pongo en situación. Tengo una base de datos con Cotejamiento UTF8_GENERAL_CI, en ésta tengo una tabla con cotejamiento UTF8_GENERAL_CI y en ...
  #1 (permalink)  
Antiguo 08/10/2007, 10:02
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Información cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Hola amigos,

Vereis, os pongo en situación.

Tengo una base de datos con Cotejamiento UTF8_GENERAL_CI, en ésta tengo una tabla con cotejamiento UTF8_GENERAL_CI y en esta tabla tengo una campo llamado descripción donde guardo descripciones de productos.

Hasta aquí todo bien.

Ahora, tengo una página, con codificación UTF8 donde hago un select de la base de datos y de la tabla anteriormente nombrada y recojo el campo descripción, entonces lo imprimo por pantalla.

Pues el problema que me encuentro, es que tanto en FIREFOX como en INTERNET EXPLORER en lugar de mostrarme losa centos, me muestra cuadraditos y rombos con interrogantes dentro...

Alguien sabe por que puede ser, por que claro, si todo está en UTF8 no entiendo por que narices ha de salir mal, incluso si voy al navegador a VER > CODIFICACIÓN me aparece seleccionada UTF8 ...

me lleva toda la tarde desquiziado esto..
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #2 (permalink)  
Antiguo 08/10/2007, 10:12
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Revisaste que los datos en la base de datos esten sin ese cuadrado extraño ?... a veces pasa que uno ya guarda los datos con esa codificacion.
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 09/10/2007, 00:39
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Pues lo revisé y nada, estan correctamente, incluso edite el registro y volví a escribir los datos a mano otra vez para confirmar que no son los datos que estan truncados...

pero nada, no hay manera... grrr....
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #4 (permalink)  
Antiguo 09/10/2007, 03:50
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Hay varias posibilidades para tu error:

Si no tienes en la cabezera de tu página un identificador de la codificación predeterminada, prueba a añadir esto (en el header):
Código HTML:
<meta http-equiv=Content-Type content=text/html; UTF-8> 
Si sigue sin funcionar prueba a pasar las variables, antes de mostrarlas por utf8_encode();. De lo contrario prueba a pasarlas por utf8_decode();
Por ejemplo:
Código PHP:
<?
echo $contenido_producto;
?>
lo pasas por utf8_encode
Código PHP:
<?
echo utf8_enconde($contenido_producto);
?>
y si no funciona prueba utf8_decode.

Te hablo desde la ignorancia sobre el cotejamiento de datos y la codificación de caracteres, siempre he tenido problemas y siempre los solucioné de alguna manera u otra probando lo anteriormente dicho.

Un saludo y espero que te valga :D
  #5 (permalink)  
Antiguo 09/10/2007, 03:59
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Cita:
Iniciado por r3dd3vil2 Ver Mensaje
Hay varias posibilidades para tu error:

Si no tienes en la cabezera de tu página un identificador de la codificación predeterminada, prueba a añadir esto (en el header):
Código HTML:
<meta http-equiv=Content-Type content=text/html; UTF-8> 
Si sigue sin funcionar prueba a pasar las variables, antes de mostrarlas por utf8_encode();. De lo contrario prueba a pasarlas por utf8_decode();
Por ejemplo:
Código PHP:
<?
echo $contenido_producto;
?>
lo pasas por utf8_encode
Código PHP:
<?
echo utf8_enconde($contenido_producto);
?>
y si no funciona prueba utf8_decode.

Te hablo desde la ignorancia sobre el cotejamiento de datos y la codificación de caracteres, siempre he tenido problemas y siempre los solucioné de alguna manera u otra probando lo anteriormente dicho.

Un saludo y espero que te valga :D
El meta lo tengo, así que no será por eso.

Me he dado cuenta de que solo me lo hace en los campos SELECT de formulario, de momento en el único sitio donde muestro los datos de la base de datos es al montar el SELECT. En el resto del PHP tengo téxto, pero se vé perfectamente.
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #6 (permalink)  
Antiguo 09/10/2007, 04:00
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Probastes pasando los datos una vez seleccionados con el SELECT por utf8_decode o utf8_encode ?
  #7 (permalink)  
Antiguo 09/10/2007, 04:06
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

eso no, pero.. no lo entiendo, que alguien me lo explique, si tengo la base de datos con cotejamiento utf8_general_ci, el fichero esta con codificación UTF8 y el meta charset con UTF8 por que narices he de usar el decode/uncode...

que flipe... es que no lo entiendo!!! esto con ANSI no pasa! jajajaja
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #8 (permalink)  
Antiguo 09/10/2007, 04:19
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

jajaja, ya te dije, yo tampoco entiendo pero a mi me ha funcionado en varias ocasiones. Mira, por ejemplo en www.eses.es (espero no se considere SPAM)
Si ves las categorías está la de "Diseño Gráfico".
Las categorías están almacenadas en una base de datos en un campo con cotejamiento utf8_general_ci, y la cabezera de la web tiene:
Código HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
En cambio al mostrarlo directamente me devuelve en lugar de ñ y acentos interrogantes (?)
Pero, si saco los datos de la base de datos y luego a la hora de mostrarlos los paso por utf8_encode me lo devuelve correctamente :S

Un saludo (prueba a pasarlo por utf8_decode, leches! XD)
  #9 (permalink)  
Antiguo 09/10/2007, 04:42
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

pues me tendré que montar una función para parsear todo lo que recoja de base de datos y le meteré el utf8_encode... pues que rabia.. la verdad...

grr grrrr!!!

Gracias por tu apoyo moral ^_^ jejejjee
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #10 (permalink)  
Antiguo 09/10/2007, 04:49
 
Fecha de Ingreso: abril-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

De nada, y la verdad esque es una gran cagada el tema de las codificaciones, ... me saca de quicio muchas veces!

;)
  #11 (permalink)  
Antiguo 15/11/2007, 08:29
 
Fecha de Ingreso: marzo-2004
Mensajes: 7
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

El problema que tienes es que el motor de base de datos te está entregando los datos en otra codificación. Vos tenes la base de datos , las tablas y los campos en un formato pero si el motor (MYSQL por ejemplo) te lo brinda en formato latin no sirve de nada, tienes que fijarte en la configuracion de la base de datos, por ejemplo en mysql podes ver esta configuracion en el archivo my.ini
Me paso lo mismo que a vos y lo resolví asi.
Saludos y suerte
  #12 (permalink)  
Antiguo 15/11/2007, 08:32
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

muchas gracias por la información amigo.
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #13 (permalink)  
Antiguo 22/11/2007, 14:57
Avatar de SAPINTO  
Fecha de Ingreso: junio-2005
Ubicación: just another fucked up pl
Mensajes: 777
Antigüedad: 18 años, 10 meses
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

Cita:
Iniciado por r3dd3vil2 Ver Mensaje
Código PHP:
<?
echo utf8_enconde($contenido_producto);
?>
correcion:

echo utf8_encode($contenido_producto);

para los amantes del copy/paste :D
__________________
if(user=="female" && user>="hot"){
user.gotoAndStop("sapinto's bed");
}
mi portafolio
  #14 (permalink)  
Antiguo 23/11/2007, 01:30
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: cotejamiento de MySQL, mostrar datos en PHP y carácteres raros..

ostras no me había fijado jajaja uft8_enconde() jajajaja q bueno xD
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:44.