content_image/863678.jpg
• utf32 : The UTF-32 encoding for the Unicode character set using four bytes per character. 

## 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. 

<img src='content_image/863678.jpg'>

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) 

