Emojis iPhone dans MySQL : pièges d'encodage
Défi :
Les développeurs sont confrontés au problème de les émoticônes insérées depuis l'iPhone dans les tables MySQL deviennent des valeurs vides. Le texte est inséré avec succès, mais les émoticônes sont mystérieusement tronquées.
Solution :
Le problème réside dans l'encodage des caractères utilisé dans le champ MySQL. Les émojis iOS résident souvent dans les points de code de la table Unicode au-delà du plan multilingue de base (BMP). Les versions MySQL antérieures à 5.5 ne prennent en charge que les caractères BMP en codage UTF-8.
Pour résoudre ce problème, passez à MySQL 5.5 et utilisez les jeux de caractères utf8mb4, utf16 ou utf32 pour le champ concerné. Assurez-vous que le codage de connexion utilisé pour communiquer entre PHP et MySQL correspond à ce jeu de caractères.
Alternative pour MySQL <5.5 :
Si MySQL <5.5 est utilisé, envisagez plutôt d'utiliser un type de données BLOB. Bien que cela permette le stockage d'octets bruts sans analyse de caractères, cela compromet la capacité de rechercher ou d'indexer efficacement le texte.
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!