sql >> Database >  >> RDS >> Mysql

iPhone-emoticons worden in MySQL ingevoegd maar worden lege waarde

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.



  1. Oracle Datum kolom opschonen

  2. AUTONOMOUS_TRANSACTION

  3. Tabel kopiëren naar een andere database op een andere SQL Server

  4. JSON_TYPE() - Krijg een JSON-waardetype in MySQL