MySQL 8.0 FAQ: MySQL Chinese, Japanese, and Korean Character Sets •For a listing of  gbk /Unicode mappings, see http://www.unicode.org/Public/MAPPINGS/ VENDORS/MICSFT/WINDOWS/CP936.TXT. •The  utf8  and  ucs2  character sets support the characters from Unicode Basic Multilingual Plane (BMP). These characters have code point values between  U+0000  and  U+FFFF . •The  utf8mb4 ,  utf16 ,  utf16le , and  utf32  character sets support BMP characters, as well as supplementary characters that lie outside the BMP. Supplementary characters have code point values between  U+10000  and  U+10FFFF . •Collations based on Unicode Collation Algorithm (UCA) 4.0.0 distinguish only BMP characters. •Collations based on UCA 5.2.0 or 9.0.0 distinguish BMP and supplementary characters. •Non-UCA collations may not distinguish all Unicode characters. For example, the  utf8mb4 default collation is  utf8mb4_general_ci , which distinguishes only BMP characters. • Be certain of what MySQL version you are using . • Make sure that the database is actually using the desired character set . It is also possible to store CJK characters in Unicode character sets, although the available collations may not sort characters quite as you expect: The collation used for a Unicode character set determines the ability to sort (that is, distinguish) characters in the set: Moreover, distinguishing characters is not the same as ordering them per the conventions of a given CJK language. Currently, MySQL has only one CJK-specific UCA collation, gb18030_unicode_520_ci  (which requires use of the non-Unicode  gb18030  character set). For information about Unicode collations and their differentiating properties, including collation properties for supplementary characters, see Section 10.10.1, “Unicode Character Sets” . This problem is usually due to a setting in MySQL that does not match the settings for the application program or the operating system. Here are some common steps for correcting these types of issues: Use the statement  SELECT VERSION();  to determine this. People often think that the client character set is always the same as either the server character set or the character set used for display purposes. However, both of these are false assumptions. You can make sure by checking the result of  SHOW CREATE TABLE  tablename  or, better yet, by using this statement: SELECT character_set_name, collation_name FROM information_schema.columns WHERE table_schema = your_database_name AND table_name = your_table_name AND column_name = your_column_name; 5259 A.11.2. I have inserted CJK characters into my table. Why does  SELECT  display them as “?”  characters?