Maison > base de données > tutoriel mysql > Pourquoi mes emojis ne sont-ils pas enregistrés correctement dans ma base de données MySQL utf8mb4 ?

Pourquoi mes emojis ne sont-ils pas enregistrés correctement dans ma base de données MySQL utf8mb4 ?

Mary-Kate Olsen
Libérer: 2024-12-10 14:16:11
original
227 Les gens l'ont consulté

Why Aren't My Emojis Saving Correctly in My MySQL utf8mb4 Database?

MySQL utf8mb4 : problèmes lors de l'enregistrement des emojis

Ce problème survient lors de la tentative d'enregistrement de caractères Unicode, tels que les emojis, dans une base de données MySQL. Bien que vous ayez suivi les guides en ligne et configuré correctement la base de données, la table et la colonne, certains emojis ne sont pas enregistrés avec précision.

Vérification de la configuration

Pour garantir une configuration correcte, le jeu de caractères et le classement de la base de données, de la table et de la colonne doit être défini sur utf8mb4 (_unicode_ci). De plus, assurez-vous que les variables spécifiques à la base de données suivantes sont définies sur utf8mb4 : caractère_set_client, caractère_set_connection et caractère_set_results.

Ajustement des variables spécifiques à la base de données

Si ces variables ne sont pas correctement défini pour la base de données spécifique, MySQL risque de ne pas être en mesure de stocker les emojis. Pour ajuster ces paramètres, on peut exécuter la requête :

ALTER DATABASE database_name CHARACTER SET = utf8mb4, COLLATE = utf8mb4_unicode_ci;

my.cnf File Configuration

De plus, assurez-vous que les lignes suivantes sont présentes dans la configuration my.cnf file :

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
Copier après la connexion

Considérations supplémentaires

  • Si la requête SET NAMES utf8mb4 est exécutée, les trois variables spécifiques à la base de données (character_set, _connection et _results ) sera défini correctement.
  • Les emojis qui ne font que 3 octets peuvent être stocké en utilisant l'encodage utf8, expliquant pourquoi l'emoji soleil a été enregistré correctement.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal