Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment insérer le caractère utf-8 mb4 (emoji dans ios5) dans mysql ?

Les caractères Unicode à 4 octets ne sont pas encore largement utilisés, donc toutes les applications ne les prennent pas entièrement en charge. MySQL 5.5 fonctionne correctement avec des caractères de 4 octets lorsqu'il est correctement configuré. Vérifiez si vos autres composants peuvent également fonctionner avec eux.

Voici quelques autres éléments à vérifier :

  • Assurez-vous que tous les jeux de caractères et champs de texte par défaut de vos tables sont convertis en utf8mb4, en plus de définir les jeux de caractères client et serveur, par exemple ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4; et ainsi de suite.

    Si vos données sont déjà dans le jeu de caractères utf8, elles devraient être converties en utf8mb4 sans aucun problème. Comme toujours, sauvegardez vos données avant d'essayer !

  • Assurez-vous également que votre couche d'application définit le jeu de caractères de ses connexions à la base de données sur utf8mb4. Vérifiez que cela se produit – si vous utilisez une ancienne version de la bibliothèque cliente mysql de votre framework choisi, il se peut qu'elle n'ait pas été compilée avec le support utf8mb4 et qu'elle ne définisse pas correctement le jeu de caractères. Sinon, vous devrez peut-être le mettre à jour ou le compiler vous-même.

  • Lorsque vous visualisez vos données via le client mysql, assurez-vous que vous êtes sur une machine qui peut afficher des emoji et exécutez un SET NAMES utf8mb4 avant d'exécuter des requêtes.

Une fois que chaque niveau de votre application peut prendre en charge les nouveaux personnages, vous devriez pouvoir les utiliser sans aucune corruption.