Hola
Tengo un problemilla con el muestreo de los valores de los campos de mis tablas de mysql que contienen caracteres rusos:
Es para hacer una web con 3 idiomas, uno de ellos el ruso.
La tabla en cuestion tiene la collation utf8, y he insertado los valores desde el phpmyadmin. Después al examinar la tabla muestra correctamente los carácteres.
Pero al hacer la consulta desde php y mostrar las variables, me sale todo con interrogantes.He cambiado la codificación de la página con el "meta" poniendo el "charset" tanto a ISO como a UTF. Si lo pongo en utf no me muestra bien el castellano.
Ah, en cambio, si tengo alguna variable creada en la misma web con ruso, si que la muestra bien, ej:
$valor =
echo $valor;
>>
Solo me da problemas al sacar los datos de la base de datos.
Un ejemplo:
function prueba(){
$db = new codeDB(); //llama a una clase para realizar la conexión
$db->conectar();
$sqli="SELECT * FROM t_detalleidioma WHERE idDetalle=3";
$detalleidioma = $db->ejecutarSQL($sqli); //ejecuta la sentencia
while ($row=mysql_fetch_array($detalleidioma))
{
$detalle = $row["detalle"];
echo "<br>Detalle = ".$row['detalle']." y ".$detalle."<br>";
echo "Decode en RUS: ";
echo utf8_decode("Максимальная цена");
echo "<br>Enconde en RUS: ";
echo utf8_encode("Максимальная цена");
echo "<br>decodeBBDD:";
echo utf8_decode($row["detalle"]);
echo "<br>encodeBBDD:";
echo utf8_encode($row["detalle"]);
}
$db->liberarRecursos($detalleidioma);
$db->desconectar();
}
Lo que aparece por pantalla es:
Detalle = ???????? y ????????
Decode en RUS: ???????????? ????
Enconde en RUS: ÐакÑималÑÐ½Ð°Ñ Ñена
decodeBBDD:????????
encodeBBDD:????????
Gracias de antemano y un saludo!!