Your desired character, U + 20F2D , is in the βUnicode Unified Code Unified Code Unifiedβ Additional Ideographic Plane block and, therefore, was not available in any MySQL Unicode character set prior to version 5.5; since version 5.5, it is available in utf8mb4 , utf16 , utf16le and utf32 character sets.
It is not available in MySQL big5 or gbk character sets.
Why utf8 encoding does not work
As described in Unicode Support :
The initial implementation of Unicode support (in MySQL 4.1) included two character sets for storing Unicode data:
ucs2 , UCS-2 encoding for Unicode character set using 16 bits per character.
utf8 , the UTF-8 encoding of a Unicode character set using one to three bytes per character.
These two character sets support characters from the Basic Multilingual Plane (BMP) Unicode Version 3.0. BMP characters have the following characteristics:
Their code values ββare between 0 and 65535 (or U+0000 .. U+FFFF ).
They can be encoded with a fixed 16-bit word, as in ucs2 .
They can be encoded with 8, 16 or 24 bits, as in utf8 .
They are enough for almost all characters in the main languages.
Characters not supported by the aforementioned character sets include additional characters that lie outside the BMP. Characters outside the BMP are compared as CHANGE CHARACTER and converted to '?' when converting to a Unicode character set.
In MySQL 5.6, Unicode support includes additional characters that require new character sets that have a wider range and therefore take up more space. The following table shows a brief comparison of the features of previous and current Unicode support.
ββββββββββββββββββββββββββββββββ¦βββββββββββββββββ ββββββββββββββββββββββββββββ
β Before MySQL 5.5 β MySQL 5.5 and up β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β All Unicode 3.0 characters β All Unicode 5.0 and 6.0 characters β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β No supplementary characters β With supplementary characters β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β ucs2 character set, BMP only β No change β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β utf8 character set for up to β No change β
β three bytes, BMP only β β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β β New utf8mb4 character set for up to four β
β β bytes, BMP or supplemental β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β β New utf16 character set, BMP or supplemental β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β β New utf16le character set, BMP or β
β β supplemental (5.6.1 and up) β
β βββββββββββββββββββββββββββββββ¬βββββββββββββββββ ββββββββββββββββββββββββββββ£
β β New utf32 character set, BMP or supplemental β
ββββββββββββββββββββββββββββββββ©βββββββββββββββββ ββββββββββββββββββββββββββββ
These changes are compatible with the promotion. If you want to use new character sets, there are potential incompatibility issues for your applications; see Section 10.1.11, βUpgrading from Previous to Current Unicode Supportβ . This section also describes how to convert tables from utf8 to a character set (4 bytes) utf8mb4 and what restrictions may apply.
Why big5 encoding big5 not work
As described in What Problems Should You Know When Using the Big5 Chinese Character Set? :
MySQL supports the Big5 character set, which is common in Hong Kong and Taiwan (Republic of China). MySQL big5 is actually the Microsoft 950 code page, which is very similar to the original big5 character big5 .
[ deletia ]
A request has been added to add HKSCS extensions. People who need this extension can find an interesting patch for Bug # 13577.
Why gbk encoding gbk n't work
As described in What CJK Character Sets are Available in MySQL? :
Here we are trying to clarify which characters are legal in gb2312 or gbk , with reference to official documents. Before reporting gb2312 or gbk , check these links.