sql >> Databáze >  >> RDS >> Mysql

Emotikony pro iPhone se vloží do MySQL, ale stanou se prázdnou hodnotou

Většina emotikonů iOS používá kódové body nad základní vícejazyčnou rovinou tabulky Unicode. Například 😄 (USMĚJÍCÍ SE TVÁŘ S OTEVŘENÝMI ÚSTY A SMĚJÍCÍ SE OČIMA) je na U+1F604.

Nyní se podívejte na http://dev.mysql.com/ doc/refman/5.5/en/charset-unicode.html .

MySQL před verzí 5.5 podporuje pouze UTF-8 pro BMP, který obsahuje znaky mezi U+0000 a U+FFFF (tj. pouze podmnožinu skutečného UTF-8; utf8 MySQL není skutečné UTF-8). Nemůže uložit znak v kódovém bodě U+1F604 nebo jiné podobné "vysoké znaky". MySQL 5.5+ podporuje utf8mb4 (ve skutečnosti UTF-8), utf16 a utf32 , které jsou schopny tyto znaky zakódovat. Pokud používáte MySQL 5.5+, použijte jednu z těchto znakových sad sloupců a ujistěte se, že používáte stejnou znakovou sadu pro kódování připojení do/z PHP. Pokud používáte MySQL <5.5, budete muset použít BLOB typ sloupce. Tento typ ukládá nezpracované bajty, aniž by se staral o „znaky“ v něm. Nevýhodou je, že nebudete moci efektivně vyhledávat nebo indexovat text.



  1. Snadný způsob exportu tabulky SQL bez přístupu k serveru nebo phpMyADMIN

  2. Jak získám informace o datu/čase ze sloupce TIMESTAMP?

  3. Následný krok č. 1 při hledání vedoucích zástupných znaků

  4. pghoard Alternativy - PostgreSQL Backup Management s ClusterControl