De meeste iOS-emoji's gebruiken codepunten boven het meertalige basisvlak van de Unicode-tabel. 😄 (GLIMLACHEND GEZICHT MET OPEN MOND EN GLIMLACHENDE OGEN) bevindt zich bijvoorbeeld op U+1F604.
Zie nu http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .
MySQL vóór versie 5.5 ondersteunt alleen UTF-8 voor de BMP, die tekens tussen U+0000 en U+FFFF bevat (d.w.z. alleen een subset van daadwerkelijke UTF-8; MySQL's utf8
is geen echte UTF-8). Het kan het teken niet opslaan op codepunt U+1F604 of andere soortgelijke "hoge tekens". MySQL 5.5+ ondersteunt utf8mb4
(werkelijke UTF-8), utf16
en utf32
, die deze tekens kunnen coderen. Als je MySQL 5.5+ gebruikt, gebruik dan een van deze kolomtekensets en zorg ervoor dat je dezelfde tekenset gebruikt voor je verbindingscodering van/naar PHP. Als u MySQL <5.5 gebruikt, moet u een BLOB
. gebruiken soort kolom. Dat type slaat onbewerkte bytes op zonder zich te bekommeren om de "tekens" erin. Het nadeel is dat je de tekst niet efficiënt kunt doorzoeken of indexeren.