De flesta iOS-emojis använder kodpunkter ovanför det grundläggande flerspråkiga planet i Unicode-tabellen. Till exempel, 😄 (LEENDE ANSIKTE MED ÖPPEN MUNN OCH LEENDE ÖGON) är på U+1F604.
Se nu http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .
MySQL före version 5.5 stöder endast UTF-8 för BMP, som inkluderar tecken mellan U+0000 och U+FFFF (dvs. endast en delmängd av faktisk UTF-8; MySQL:s utf8
är inte riktig UTF-8). Den kan inte lagra tecknet vid kodpunkt U+1F604 eller andra liknande "höga tecken". MySQL 5.5+ stöder utf8mb4
(faktisk UTF-8), utf16
och utf32
, som kan koda dessa tecken. Om du använder MySQL 5.5+, använd en av dessa kolumnteckenuppsättningar och se till att du använder samma teckenuppsättning för din anslutningskodning till/från PHP. Om du använder MySQL <5.5 måste du använda en BLOB
kolumntyp. Den typen lagrar råa bytes utan att bry sig om "tecken" i den. Nackdelen är att du inte effektivt kommer att kunna söka eller indexera texten.