Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta SELECT 3 idiomas, incluido RUSO

Estas en el tema de Consulta SELECT 3 idiomas, incluido RUSO en el foro de PHP en Foros del Web. Hola muy buenas, Estoy intentando hacer una consulta y mostrar en una misma página los resultados de 3 campos, en tres idiomas diferentes a la ...
  #1 (permalink)  
Antiguo 29/05/2014, 10:19
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Consulta SELECT 3 idiomas, incluido RUSO

Hola muy buenas,

Estoy intentando hacer una consulta y mostrar en una misma página los resultados de 3 campos, en tres idiomas diferentes a la vez.

Tengo 3 campos que son info_esp, info_eng, info_ruso. La columna de info_ruso la tengo con cotejamiento koi8r_general_ci y tengo el texto en ruso guardado perfectamente, pero cuando voy a mostrarlo... imprime todo interrogantes "???...".

En la misma página obtengo otros textos en ruso con includes y se ve todo perfecto, salvo lo que viene de la consulta mysql.

¿Hay alguna manera de poder hacer algo al estilo...
Código MySQL:
Ver original
  1. SELECT info_esp, info_eng, koi8r_encode(info_ruso) FROM tabla;

El documento tiene charset UTF-8 y todo bien, ya que muestro otros textos en ruso y se ven bien.

Última edición por gnzsoloyo; 30/05/2014 a las 14:41 Razón: Completar
  #2 (permalink)  
Antiguo 29/05/2014, 14:54
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Consulta SELECT 3 idiomas, incluido RUSO

Hace un tiempo me tope con un problema similar pero con un sitio en vietnamita.

Despues de mucho investigar llegue a la conclusión de que lo mejor que podia hacer es no tocar la codificacion de los campos en la ddbb y luego en el php usar echo utf8_encode($campo);
Igual hay mucho que es prueba y error.

Al incluir el mysqli_set_charset('UTF-8',$ilink); en si lo que haces es pasar los caracteres a utf8 asi que en teoria no lo necesitarias. Pero tampoco tener el campo en koi8r_general_ci
Lo que te diria que pruebes es poner algunos caracteres en ruso en el campo info_esp o info_eng y probar como los imprime ya que seguramente esos campos los tenes en otro formato.

Espero sirva.
Saludos...
  #3 (permalink)  
Antiguo 30/05/2014, 09:58
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: Consulta SELECT 3 idiomas, incluido RUSO

Pues al final, después de unas 3 horas de prueba y error me ha funcionado de la siguiente manera.
  • La consulta SELECT normal, como cualquier otra, nada de codificadiones.
  • En la Base de datos, en el campo ruso si que tengo puesto koi8-r, para poder visualizarlos en la propia base de datos.
  • Y para mostrarlo correctamente en la página los 3 idiomas a la vez he puesto justo despues de la conexión con la Base de datos esto: mysql_query ("SET NAMES 'utf8'");. Eso sí, las conexiones ya las hacía con mysqli y me ha tocado regresar al antigua forma ya que no sé cómo hacer lo mismo pero con mysqli.

Espero que a alguien le sirva.

Saludos!
  #4 (permalink)  
Antiguo 30/05/2014, 14:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Consulta SELECT 3 idiomas, incluido RUSO

puesto que el tema es de programación, pido a nuestro moderador que pase a ese foro; y por eso respondo con programación PHP. Para la conexión con mysqli, debes usar
$mysqli = new mysqli("localhost", "usuario", "contraseña", "basedatos");
if ($mysqli->connect_errno) {
echo "Fallo al contenctar a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
$mysqli->set_charset("utf8");

Etiquetas: campo, idiomas, mysql, select, sql, tabla
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 10:19.