[Ayuda] Charset en Procedimiento Almacenado

  • Autor Autor Vika
  • Fecha de inicio Fecha de inicio
Vika

Vika

VIP
Épsilon
Redactor
Verificación en dos pasos activada
Suscripción a IA
Hola, tengo el siguiente procedimiento almacenado en mysql.
PHP:
CREATE PROCEDURE mostrar_usuarios()
SELECT usuario,contrasena FROM usuarios
Que me da una lista de los usuarios que hay en la tabla.

Para ejecutarlo uso el siguiente código:
PHP:
$conexion= new mysqli_connect($host,$user,$pw,$db) or die("Problemas en la conexión");
mysqli_set_charset($conexion,'utf8');
$llamar= $conexion->prepare("CALL mostrar_usuarios");
$llamar->execute();
$llamar->bind_result($usuario,$contrasena);

while ($codigo->fetch()) {
//IMPRIMO LOS DATOS
}

El procedimiento funciona pero cuando intenta recuperar eñes y tildes en vez de salir el caracter correcto me salen: �������������
Entiendo que es problema de la codificación pero no sé cómo corregirlo, ¿alguien puede ayudar a esta novatilla? 🙄
 
¿Has probado con la función (php) utf8_decode al imprimir los datos?

echo $datos -> echo utf8_decode($datos)
 
¿Has probado con la función (php) utf8_decode al imprimir los datos?

echo $datos -> echo utf8_decode($datos)

Muchas gracias compañero, usé la función que me recomendaste y todo funcionó de forma correcta; muchas gracias por tu pronta ayuda. 😀
 
De nada, para eso estamos.
 
Si estás utilizando el charset correcto en el encabezado, y estás estableciendo UTF8 en la conexión no debería pasar eso. Pero si ya lo tienes solucionado así pues nada.

Un saludo
 
Atrás
Arriba