Saltar al contenido

¿Caracteres especiales PDO y UTF-8 en PHP / MySQL?

Deseamos enseñarte la mejor información que descubrimos por todo internet. Queremos que te sea de mucha utilidad y si deseas compartir algún detalle que nos pueda ayudar a mejorar hazlo con total libertad.

Solución:

Te estás perdiendo un S: su SET NAMES y no SET NAME:

$this->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, "SET NAMES 'utf8'");

También es necesario descomentarlo, por supuesto. También, PDO::MYSQL_ATTR_INIT_COMMAND pueden no ser fijado con PDO::setAttribute() una vez que haya establecido su conexión a la base de datos (el nombre de la constante lo dice todo), debe especificarlo en el constructor usando el $driver_options argumento, así:

$this->db = new PDO($this->dsn, $this->username, $this->password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));

Una alternativa a esto es simplemente ejecutar esa misma consulta inmediatamente después de conectarse:

$this->db = new PDO($this->dsn, $this->username, $this->password);
$this->db->exec("SET NAMES 'utf8';");

Tuve el mismo problema y descubrí después de probar 1000000 opciones diferentes que el motor mysql predeterminado sigue siendo MyISAM.

Verificando que InnoDB es el motor de almacenamiento predeterminado como tal:

Emitir el comando SHOW VARIABLES LIKE 'have_innodb'; para confirmar que InnoDB está disponible en absoluto.

Luego emita el comando SHOW ENGINES; para ver todos los diferentes motores de almacenamiento MySQL.

Buscar DEFAULT en el InnoDB línea y NO en el MyISAM línea. Me di cuenta de que mi proporcionado tenía una configuración que me impedía cambiar el motor predeterminado usando SET storage_engine=MYISAM;. En mi caso contacté a mi proveedor y me dirigió a donde podía cambiar la opción para poder cambiar el motor por defecto. ¡Espero que esto ayude!

Aquí tienes las reseñas y valoraciones

Si posees algún titubeo o capacidad de aclarar nuestro reseña eres capaz de escribir una reseña y con gusto lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *