sql >> Databasteknik >  >> RDS >> Mysql

iPhone uttryckssymboler infogas i MySQL men blir tomt värde

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.



  1. Neo4j - Skapa ett förhållande med Cypher

  2. Varför gillar inte PostgreSQL tabellnamn med VERSALER?

  3. Hur man trunkerar tabell i MySQL

  4. Gå själv med i orakel med exempel