MySQL:s utf8
tillåter endast Unicode-tecken som kan representeras med 3 byte i UTF-8. Här har du ett tecken som behöver 4 byte:\xF0\x90\x8D\x83 (U+10343 GOTHIC LETTER SAUIL
).
Om du har MySQL 5.5 eller senare kan du ändra kolumnkodningen från utf8
till utf8mb4
. Denna kodning tillåter lagring av tecken som upptar 4 byte i UTF-8.
Du kan också behöva ställa in serveregenskapen character_set_server
till utf8mb4
i MySQL-konfigurationsfilen. Det verkar som att Connector/J har 3 som standard -byte Unicode annars
:
För att till exempel använda 4-byte UTF-8-teckenuppsättningar med Connector/J, konfigurera MySQL-servern med
character_set_server=utf8mb4
, och lämnacharacterEncoding
ut ur Connector/J-anslutningssträngen. Connector/J kommer då att automatiskt upptäcka UTF-8-inställningen.