Émojis remplacés par points d'interrogation
corentin.bc
Messages postés
383
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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:
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.
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:
- Emoji point d'interrogation dans un carre
- Emoji point d'interrogation - Meilleures réponses
- Point d'interrogation dans un carré - Meilleures réponses
- Quel est l'émoji du point d'interrogation dans un carré ? ✓ - Forum Samsung
- (Y) emoji ✓ - Forum Mail
- :3 emoji ✓ - Forum Loisirs / Divertissements
- Point d'interrogation dans un carré - Forum Excel
- Emoji point d'interrogation - Forum Samsung
1 réponse
Bonjour,
Tu peux spécifier le charset directement dans la chaine de connexion (le dsn)
L'autre solution, un peu comme la tienne mais avec le collate en plus dans le MYSQL_ATTR_INIT_COMMAND
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
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