Повечето емоджи на iOS използват кодови точки над основната многоезична равнина на таблицата на Unicode. Например 😄 (УСМЪХНАТО ЛИЦЕ С ОТВОРЕНА УСТА И УСМЪХНАТИ ОЧИ) е на U+1F604.
Сега вижте http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .
MySQL преди версия 5.5 поддържа само UTF-8 за BMP, който включва знаци между U+0000 и U+FFFF (т.е. само подмножество от действителния UTF-8; utf8
на MySQL не е истински UTF-8). Не може да съхранява знака в кодова точка U+1F604 или други подобни „високи знаци“. MySQL 5.5+ поддържа utf8mb4
(действителен UTF-8), utf16
и utf32
, които могат да кодират тези знаци. Ако използвате MySQL 5.5+, използвайте един от тези набори от знаци в колони и се уверете, че използвате същия набор от знаци за кодирането на връзката си към/от PHP. Ако сте на MySQL <5.5, ще трябва да използвате BLOB
тип колона. Този тип съхранява необработени байтове, без да се интересува от "знаците" в него. Недостатъкът е, че няма да можете ефективно да търсите или индексирате текста.