Foros del Web » Programando para Internet » PHP »

Charset en mysql

Estas en el tema de Charset en mysql en el foro de PHP en Foros del Web. Estimados foreros: Me leí todos los post sobre el tema pero me parece que a nadie le pasó esto: Cuando pongo en mi pagina acentos, ...
  #1 (permalink)  
Antiguo 20/03/2009, 11:56
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Charset en mysql

Estimados foreros:

Me leí todos los post sobre el tema pero me parece que a nadie le pasó esto:

Cuando pongo en mi pagina acentos, el navegador lo muestra ok, pero cuando en esa misma pagina tomo palabras con acento de mysql, las muestra mal.

Lo raro es que tengo todo en utf8:

-server apache
-status en mysql muestra todo en utf 8
- la bd, las tablas, los campos.
-la codificacion del html
-la codificacion de mi editor

Desde la consola mysql me muestra bien los acentos.

Probé con firefox y opera.

Ya no se que hacer!!!!

Si alguien me diera una pista estaría MUY agradecido.

Saludos y gracias.
  #2 (permalink)  
Antiguo 20/03/2009, 12:09
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Charset en mysql

Y tu navegador que codificacion tiene?

En Firefox mira en VER >> CODIFICACION CARACTERES

La colacion de MySQL que es la codificacion que se utiliza en las consultas puede no ser UTF8, revisalo

Saludos!
  #3 (permalink)  
Antiguo 20/03/2009, 12:10
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Charset en mysql

Trata pasando los campos por utf8_encode() antes de mostrarlos.

Si tienes todo en utf-8, pues es raro que no te muestre los acentos cuando tomas datos de MySQL.
  #4 (permalink)  
Antiguo 20/03/2009, 12:50
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Charset en mysql

Cita:
Iniciado por Synkronice Ver Mensaje
Y tu navegador que codificacion tiene?

En Firefox mira en VER >> CODIFICACION CARACTERES

La colacion de MySQL que es la codificacion que se utiliza en las consultas puede no ser UTF8, revisalo

Saludos!
Muchas gracias por la respuesta. Es utf8, la colación también...
  #5 (permalink)  
Antiguo 20/03/2009, 12:53
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Charset en mysql

Cita:
Iniciado por Ronruby Ver Mensaje
Trata pasando los campos por utf8_encode() antes de mostrarlos.

Si tienes todo en utf-8, pues es raro que no te muestre los acentos cuando tomas datos de MySQL.
Gracias por la respuesta. Acabo de probarlo y no hay ningún cambio. Qué más puede ser???
  #6 (permalink)  
Antiguo 20/03/2009, 12:57
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Charset en mysql

Realiza el Test del Ñandú

http://www.juque.cl/weblog/2006/04/0...-parte-ii.html

Haz scroll un poco en el enlace que te he pasado para que encuentres el parrafo donde dice como hacerlo y nos cuentas como te salio.

PD: Te recomiendo leer todo el POST que esta muy interesante.

Suerte!

Última edición por Synkronice; 20/03/2009 a las 12:58 Razón: Incluir PD
  #7 (permalink)  
Antiguo 20/03/2009, 18:07
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Charset en mysql

Gracias Synkronice. Lo lei, probé y no funcionó.
Desinstalé todo, borré las bases y empecé de nuevo. Lo mismo.

Pongo todo utf.
En el navegador, pongo utf y el texto que está dentro de la bd se ve mal, pero el que esta en html, ok.
Si pongo el navegador en iso-8859-1. Se ve bien el de la bd y mal el del html de afuera. Justo al revés.
Pongo la página con charset iso-8859-1 y no cambia nada.

Ya no entiendo nada.

Alguien tiene otra idea????

La prueba del ñandu da que tengo iso88591
  #8 (permalink)  
Antiguo 20/03/2009, 19:34
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Charset en mysql

Todo lo anterior era en un linux. Ahora instalé AppServ en Windows y me pasa lo mismo!!!

Código:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
// ABRO LA BASE DE DATOS
	$conexionBD = mysql_connect('localhost', 'root', 'a');
	if(!$conexionBD)
	{
		echo "<p>Ocurrió un error al conectarse a la base de datos.</p>";
	}
	else
	{
		$resultado = mysql_select_db("mjimenez", $conexionBD);
		if(!$resultado)
		{
			echo "<p>Ocurrió un error al abrir la base de datos.</p>";
			exit;
		}
	}
	//LA BASE DE DATOS SE ABRIÓ CORRECTAMENTE
	$datos = mysql_query("SELECT * FROM general WHERE entidad LIKE 'dato' ", $conexionBD); 
	echo mysql_result($datos, 0, "contenido"); //se obtiener Ñandú y se ve mal
?>
<p>Ñandú sin mysql</p> //se ve ok
</body>
</html>
  #9 (permalink)  
Antiguo 20/03/2009, 19:38
 
Fecha de Ingreso: diciembre-2007
Ubicación: Por ahi.
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Charset en mysql

Ahi no esta el problema.. el problema es cuando metes los datos en la bd no los pases por htmlentities() pasalos por htmlspecialchars()
  #10 (permalink)  
Antiguo 20/03/2009, 20:15
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Charset en mysql

Gracias naderST. Puse los datos desde phpmyadmin y al hacer consultas se ven bien!
  #11 (permalink)  
Antiguo 21/03/2009, 12:01
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Charset en mysql

SOLUCIÓN:


Encontré la solución por si a alguien le pasa lo mismo.

Después de conectar a la bd, añadir:


mysql_query("SET NAMES 'utf8'");

y listo.
  #12 (permalink)  
Antiguo 21/03/2009, 12:03
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Respuesta: Charset en mysql

Me alegro que lo hayas conseguido solucionar!

Esa opción en la vida la utilice, ni la conozco, me documentaré para ver que es lo que hace.

Saludos!
  #13 (permalink)  
Antiguo 21/03/2009, 12:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Charset en mysql

Documentación al respecto:
http://dev.mysql.com/doc/refman/5.0/...onnection.html

Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 21/03/2009, 12:08
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
De acuerdo Respuesta: Charset en mysql

Cita:
Iniciado por David el Grande Ver Mensaje
Documentación al respecto:
http://dev.mysql.com/doc/refman/5.0/...onnection.html

Saludos .
Muchas Gracias David ( eso si que es rapidez!! )

Saludos!
  #15 (permalink)  
Antiguo 21/03/2009, 13:10
 
Fecha de Ingreso: julio-2008
Mensajes: 26
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Charset en mysql

Muchas gracias a todos. Son muy amables.
  #16 (permalink)  
Antiguo 18/07/2009, 19:32
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Charset en mysql

Excelente. Me estaba pasando lo mismo. Gran solución para resolver el tema tan complejo de los charset.

Saludos
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 18:45.