Emojis reemplazados por signos de interrogación
corentin.bc
Mensajes publicados
385
Fecha de registro
Estado
Miembro
Última intervención
-
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
Buenas noches,
tengo un problema en mi sitio, todos los emojis están siendo reemplazados por signos de interrogación "?"
He investigado bastante, la solución que encontré es cambiar la tabla a utf8mb4.
Mi base de datos está en utf8mb4-unicode_ci.
Mi código de conexión a la base de datos es el siguiente:
a pesar de todo esto el problema persiste.
¿Tendría alguna idea para que pueda deshacerme del problema de una vez por todas?
Gracias de antemano.
tengo un problema en mi sitio, todos los emojis están siendo reemplazados por signos de interrogación "?"
He investigado bastante, la solución que encontré es cambiar la tabla a utf8mb4.
Mi base de datos está en utf8mb4-unicode_ci.
Mi código de conexión a la base de datos es el siguiente:
try {$bdd = new PDO('mysql:host=localhost;dbname=apfr;charset=utf8mb4', '', '',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET character_set_results = 'utf8mb4', character_set_client = 'utf8mb4', character_set_connection = 'utf8mb4', character_set_database = 'utf8mb4', character_set_server = 'utf8mb4'"));}
catch(Exception $e) {die('¡Error!');}
a pesar de todo esto el problema persiste.
¿Tendría alguna idea para que pueda deshacerme del problema de una vez por todas?
Gracias de antemano.
1 respuesta
-
Hola,
Puedes especificar el charset directamente en la cadena de conexión (el dsn)$dsn = 'mysql:host=localhost;dbname=apfr;port=3306;charset=utf8mb4';
La otra solución, un poco como la tuya pero con el collate añadido en el MYSQL_ATTR_INIT_COMMAND$bdd =new PDO( 'mysql:host=localhost;dbname=apfr;port=3306;charset=utf8mb4', 'your-username', 'your-password', array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_PERSISTENT => false, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci" ) );
no olvides tampoco verificar la codificación declarada en tus archivos así como la de tus archivos.
Te invito a leer esto: https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8
--
Atentamente,
Jordane