Foros del Web » Programando para Internet » PHP »

No soporta utf8 completamente?

Estas en el tema de No soporta utf8 completamente? en el foro de PHP en Foros del Web. Buenas a todos, tengo el siguiente problema, para ver si me pueden ayudar debido a que se me ha hecho difícil encontrar la solución con ...
  #1 (permalink)  
Antiguo 12/03/2012, 16:14
 
Fecha de Ingreso: junio-2011
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
No soporta utf8 completamente?

Buenas a todos, tengo el siguiente problema, para ver si me pueden ayudar debido a que se me ha hecho difícil encontrar la solución con mi tío Google.

Tengo una base de datos "saludos," la cual incluye una base de datos llamada "idiomas," donde ésta última a su vez, está conformada por 3 columnas, "id, clave y saludo," el motivo o la aplicación de ésta base de datos es que en el campo saludo, se encuentra el mensaje "hola mundo," pero en 40 idiomas diferentes.

El problema viene al momento de quererlos desplegar por medio de PHP. El caso es que cada vez que se cargue la página, muestre el mensaje en un idioma diferente cada vez, donde los idiomas como ruso, japonés, coreanos y similares, me los muestra con signo de iterrogación.

Tengo la codificación del servidor mysql como "utf8," las tablas tanto las columnas, tienen la codificación "utf8_unicode_ci," y claro, dentro del archivo o la página php, tengo un <meta charset=utf-8 />.

El caso es que no sé en dónde está el problema, ya que me muestra puros signos de interrogación con idiomas como el ruso :S
Agradecería mucha su ayuda.
Saludos.

Última edición por morringo; 12/03/2012 a las 16:15 Razón: Signos de interrogación
  #2 (permalink)  
Antiguo 12/03/2012, 16:17
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: No soporta utf8 completamente?

¿Y cómo metiste los mensajes? si la fuente que capturó los mensajes en la tabla no estaba en utf8, saldrán en el set de la fuente, creando incompatibilidad.
  #3 (permalink)  
Antiguo 12/03/2012, 16:23
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: No soporta utf8 completamente?

en el archivo que te conecta con la base de datos pone esto <?php

mysql_query ("SET NAMES 'utf8'");

ejemplo :

<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_hoysale = "localhost";
$database_hoysale = "ejemplo";
$username_hoysale = "root";
$password_hoysale = "ejemplo";
$hoysale = mysql_pconnect($hostname_hoysale, $username_hoysale, $password_hoysale) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_query ("SET NAMES 'utf8'");
?>


la linea que te demarco en negro es la que tenes que colocar. avisame si funciona.
  #4 (permalink)  
Antiguo 12/03/2012, 16:29
Avatar de bamc_087  
Fecha de Ingreso: marzo-2012
Ubicación: Yucatan
Mensajes: 5
Antigüedad: 12 años, 1 mes
Puntos: 1
Respuesta: No soporta utf8 completamente?

pues hay un problema de compatibilidad con la base de datos el servidor de la pagina web en este caso el html con el php si en tu servidor le asignas un formato para que se vayan guardando carecteres especiales al momento de devolverlos tienes que convertirlos al formato de salida adecuado para tu html

enviame los tipos de datos que no guarda o mas bien no se enseñan bien para hacer unas pruebas
  #5 (permalink)  
Antiguo 12/03/2012, 16:32
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: No soporta utf8 completamente?

con ese script que te pase tiene que funcionar....
  #6 (permalink)  
Antiguo 12/03/2012, 17:06
 
Fecha de Ingreso: junio-2011
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: No soporta utf8 completamente?

ofertasdiairias: Muchas gracias por tu respuesta, tal y como dijiste, ¡funcionó! :D.
Me has ahorrado el seguir que tener que estar buscando y buscando, que ya iba para 5 horas o más ^^.

Una cosa mas bro, ¿me puedes explicar la instrucción esa y cuál era mi problema o cómo es que funciona y por qué funciona con esa instrucción?

Muchas gracias a los dos.
  #7 (permalink)  
Antiguo 12/03/2012, 18:06
 
Fecha de Ingreso: diciembre-2006
Ubicación: Peruvian
Mensajes: 142
Antigüedad: 17 años, 4 meses
Puntos: 7
Respuesta: No soporta utf8 completamente?

y podrias publicar la solucion para todos?
facil en el futuro le ahorras el problema a alguien mas.
  #8 (permalink)  
Antiguo 12/03/2012, 20:07
 
Fecha de Ingreso: junio-2011
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: No soporta utf8 completamente?

Es la misma que pone ofertasdiarias bro, poner: mysql_query ("SET NAMES 'utf8'"); antes de realizar la consulta y después de hacer la conexión a la base de datos.

Otra alternativa que encontré y que funciona también, y que tal vez se les haga mejor a todos (debido a que te olvidas de poner la línea anterior en cada archivo php) es la de editar el archivo my.ini (Windows) ó my.cfg (UNIX/LINUX) y en la parte donde dice: [mysqld], agregar abajito las siguientes dos líneas:

Código:
character-set-server=utf8
collation-server=utf8_unicode_ci
Probé las dos formas y con las dos me dan los mismos resultados, obviamente que con la segunda no tienes que estar poniendo la línea en cada archivo php donde vayas a hacer consultas.

Saludos.

Etiquetas: mysql, 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 05:28.