Émojis remplacés par points d'interrogation

Fermé
corentin.bc Messages postés 389 Date d'inscription dimanche 8 février 2015 Statut Membre Dernière intervention 4 novembre 2022 - 1 juin 2018 à 19:20
jordane45 Messages postés 38178 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mai 2024 - 5 juin 2018 à 22:09
Bonsoir,
j'ai un souci sur mon site, tous les émojis se voient remplacés par des points d'interrogation "?"
J'ai fais pas mal de recherche, la solution trouvée est de passer la table en utf8mb4.
Ma BDD est en utf8mb4-unicode_ci.
Mon code de connexion à ma BDD est le suivant:

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 !');}

malgré tout ça le problème perciste.
Auriez-vous une idée pour que je puisse me débarrasser du pb une bonne fois pour toutes ?
Merci d'avance.
A voir également:

1 réponse

jordane45 Messages postés 38178 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 mai 2024 4 667
5 juin 2018 à 22:09
Bonjour,
Tu peux spécifier le charset directement dans la chaine de connexion (le dsn)
$dsn = 'mysql:host=localhost;dbname=apfr;port=3306;charset=utf8mb4';

L'autre solution, un peu comme la tienne mais avec le collate en plus dans le 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"
    )
);

n'oublie pas non plus de vérifier l'encodage déclaré dans tes fichiers ainsi que celui de tes fichiers.
Je t'invite à lire ceci : https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8

0