Stockage de caractères Emoji dans une base de données MySQL
Lorsque vous essayez de stocker des caractères Emoji dans une base de données MySQL configurée avec le classement par défaut utf8mb4_general_ci, vous pouvez rencontrer des erreurs telles que « Valeur de chaîne incorrecte » ou « Le jeu de caractères n'est pas valide » en raison des limitations de stockage de certains caractères ensembles.
Pour résoudre ce problème, suivez ces étapes :
1. Classement de la base de données :
Modifiez le classement de la base de données par défaut en utf8mb4 en exécutant la requête suivante :
ALTER DATABASE `your_database_name` COLLATE utf8mb4_unicode_520_ci;
2 . Classement des tables :
Modifiez le classement des tables en utf8mb4_bin en modifiant la structure de la table :
ALTER TABLE `your_table_name` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
3. Requête :
Utilisez explicitement le jeu de caractères utf8mb4 dans votre requête INSERT :
INSERT INTO `your_table_name` (column1, column2, column3) VALUES ('273', '3', 'Hdhdhdh????hzhzhzzhjzj 我爱你 ❌')
4. Connexion à la base de données :
Définissez le jeu de caractères utf8mb4 dans votre connexion à la base de données :
$mysqli = new mysqli($server, $username, $password, $database); $mysqli->set_charset('utf8mb4');
En implémentant ces modifications, MySQL être capable de stocker et de récupérer correctement les caractères emoji dans les colonnes spécifiées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!