The utf8mb4 Character Set (4-Byte UTF-8 Unicode Encoding) Note The  utf8mb3  character set is deprecated and you should expect it to be removed in a future MySQL release. Please use  utf8mb4  instead. Although  utf8  is currently an alias for  utf8mb3 , at some point  utf8  is expected to become a reference to  utf8mb4 . To avoid ambiguity about the meaning of  utf8 , consider specifying  utf8mb4  explicitly for character set references instead of  utf8 . Table 10.2, “Unicode Character Set General Characteristics” , summarizes the general characteristics of Unicode character sets supported by MySQL. Table 10.2 Unicode Character Set General Characteristics Character Set Supported Characters Required Storage Per Character utf8mb3 ,  utf8 BMP only 1, 2, or 3 bytes ucs2 BMP only 2 bytes utf8mb4 BMP and supplementary 1, 2, 3, or 4 bytes utf16 BMP and supplementary 2 or 4 bytes utf16le BMP and supplementary 2 or 4 bytes utf32 BMP and supplementary 4 bytes Characters outside the BMP compare as REPLACEMENT CHARACTER and convert to  ’?’  when converted to a Unicode character set that supports only BMP characters ( utf8mb3  or  ucs2 ). If you use character sets that support supplementary characters and thus are “wider”  than the BMP- only  utf8mb3  and  ucs2  character sets, there are potential incompatibility issues for your applications; see Section 10.9.8, “Converting Between 3-Byte and 4-Byte Unicode Character Sets” . That section also describes how to convert tables from the (3-byte)  utf8mb3  to the (4-byte)  utf8mb4 , and what constraints may apply in doing so. A similar set of collations is available for most Unicode character sets. For example, each has a Danish collation, the names of which are  utf8mb4_danish_ci ,  utf8mb3_danish_ci ,  utf8_danish_ci , ucs2_danish_ci ,  utf16_danish_ci , and  utf32_danish_ci . The exception is  utf16le , which has only two collations. For information about Unicode collations and their differentiating properties, including collation properties for supplementary characters, see Section 10.10.1, “Unicode Character Sets” . The MySQL implementation of UCS-2, UTF-16, and UTF-32 stores characters in big-endian byte order and does not use a byte order mark (BOM) at the beginning of values. Other database systems might use little- endian byte order or a BOM. In such cases, conversion of values needs to be performed when transferring data between those systems and MySQL. The implementation of UTF-16LE is little-endian. MySQL uses no BOM for UTF-8 values. Client applications that communicate with the server using Unicode should set the client character set accordingly (for example, by issuing a  SET NAMES ’utf8mb4’  statement). Some character sets cannot be used as the client character set. Attempting to use them with  SET NAMES  or  SET CHARACTER SET produces an error. See Impermissible Client Character Sets. The following sections provide additional detail on the Unicode character sets in MySQL. 10.9.1 The utf8mb4 Character Set (4-Byte UTF-8 Unicode Encoding) 1963 • utf32 : The UTF-32 encoding for the Unicode character set using four bytes per character.