Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi est-ce que j'obtiens des erreurs « Valeur de chaîne incorrecte » lors de l'insertion d'émojis dans MySQL ?

Mary-Kate Olsen
Libérer: 2024-11-27 09:59:10
original
434 Les gens l'ont consulté

Why Do I Get

Impossible d'insérer des émojis dans MySQL : valeur de chaîne incorrecte ['xF0x9Fx91xBDxF0x9F...']

Lors de la tentative d'insertion d'une valeur de chaîne contenant emojis dans une base de données MySQL, les utilisateurs peuvent rencontrer l'erreur suivante : java.sql.SQLException : valeur de chaîne incorrecte : 'xF0x9Fx91xBDxF0x9F...'. Ce problème provient des limitations de codage de la base de données.

Comprendre le codage des Emoji

Les emojis, tels que les extraterrestres et les cœurs brisés, sont généralement représentés sous forme de points de code Unicode. Ces points de code peuvent ne pas correspondre au plan multilingue de base (BMP), qui est pris en charge par le codage utf8 de MySQL. Par conséquent, ces caractères ne peuvent pas être stockés dans les colonnes utf8.

Solution : Mise à niveau vers l'encodage 'utf8mb4'

Pour résoudre ce problème, il est nécessaire de passer à l'encodage utf8mb4, qui prend en charge les caractères supplémentaires. Cet encodage nécessite quatre octets pour stocker un caractère, tandis que utf8 ne peut stocker que jusqu'à trois octets.

Étapes pour implémenter l'encodage « utf8mb4 » :

  1. Assurez-vous que votre version de MySQL est 5.5 ou supérieure.
  2. Définissez l'encodage de connexion sur utf8mb4 en utilisant la requête : SET NAMES 'utf8mb4'.
  3. Ajustez le jeu de caractères et le classement de la base de données à utf8mb4 : ALTER DATABASE [database_name] CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci.
  4. Créez ou modifiez la colonne du tableau en question : ALTER TABLE [table_name] CHANGE [column_name] [new_column_definition] CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci.

En suivant ces étapes, vous pouvez mettre à jour votre environnement de base de données pour prendre en charge les caractères emoji et éviter l'exception de valeur de chaîne incorrecte.

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