sql >> Databasteknik >  >> RDS >> Mysql

MYSQL:Infoga traditionell och förenklad kinesiska i samma "cell"

Om 😼 skulle snubbla upp det beror det på att 😼 inte är i det grundläggande flerspråkiga planet i Unicode; det är i det kompletterande flerspråkiga planet, som ligger över U+FFFF och tar upp 4 byte i UTF-8 istället för 3. Fullständigt överensstämmande Unicode-implementationer behandlar dem inte annorlunda, men MySQL-teckenuppsättningen utf8 accepterar inte tecken ovanför U+FFFF. Om du har en ny version av MySQL kan du ALTER TABLE använda utf8mb4 som korrekt hanterar alla Unicode-tecken. Det finns några hakar för att ändra, eftersom MySQL allokerar 4 byte per tecken istället för 3; se http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode-upgrading.html för detaljer.

Det här problemet är en dubblett av Infogande av UTF-8-kodad sträng i UTF-8-kodad mysql-tabell misslyckas med "Felaktigt strängvärde" .




  1. Java och SQL :returnera null eller kast undantag?

  2. Kan inte använda String som @Id med SpringData

  3. VÄNSTER JOIN i ZF2 med hjälp av TableGateway

  4. mysql om rad inte finns, ta standardvärde