Mysql default character set is latin1, and this character set does not support Chinese, so when the inserted data contains Chinese, garbled characters will appear or cannot be inserted into the database; in mysql practice, it is recommended to use utf8mb4 is used as the default character set.
The operating environment of this tutorial: Windows 10 system, MySQL version 5.7, Dell G3 computer.
What is the default character set of mysql?
The default character set when mysql is installed is latin1, and it does not support Chinese. Therefore, when the inserted data contains Chinese, garbled characters will appear or the data cannot be inserted into the database.
MySQL’s default character set is recommended to use utf8mb4 instead of utf8
In MySQL, utf8 uses up to 3 bytes to store a characters, so they have the same meaning as utf8mb3.
And utf8mb4 is a superset of utf8mb3, allowing up to 4 characters to be used to store characters.
In practice, it is recommended to use utf8mb4 as the default character set. If you use utf8, there may be many rare characters, such as "?", "?", "?", etc. that cannot be input into the MySQL database (will An error message similar to the following: ERROR 1366 (HY000): Incorrect string value: '\xF0\xA0\x86\xB7' for column 'name' at row 1)
Check the character set supported by MySQL:
mysql> show character set; +----------+---------------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+---------------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | | dec8 | DEC West European | dec8_swedish_ci | 1 | | cp850 | DOS West European | cp850_general_ci | 1 | | hp8 | HP West European | hp8_english_ci | 1 | | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | swe7 | 7bit Swedish | swe7_swedish_ci | 1 | | ascii | US ASCII | ascii_general_ci | 1 | | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | | hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 | | tis620 | TIS620 Thai | tis620_thai_ci | 1 | | euckr | EUC-KR Korean | euckr_korean_ci | 2 | | koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 | | gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 | | greek | ISO 8859-7 Greek | greek_general_ci | 1 | | cp1250 | Windows Central European | cp1250_general_ci | 1 | | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | | latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 | | armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 | | utf8 | UTF-8 Unicode | utf8_general_ci | 3 | | ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 | | cp866 | DOS Russian | cp866_general_ci | 1 | | keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 | | macce | Mac Central European | macce_general_ci | 1 | | macroman | Mac West European | macroman_general_ci | 1 | | cp852 | DOS Central European | cp852_general_ci | 1 | | latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 | | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 | | cp1251 | Windows Cyrillic | cp1251_general_ci | 1 | | utf16 | UTF-16 Unicode | utf16_general_ci | 4 | | utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 | | cp1256 | Windows Arabic | cp1256_general_ci | 1 | | cp1257 | Windows Baltic | cp1257_general_ci | 1 | | utf32 | UTF-32 Unicode | utf32_general_ci | 4 | | binary | Binary pseudo charset | binary | 1 | | geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 | | cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 | | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 | | gb18030 | China National Standard GB18030 | gb18030_chinese_ci | 4 | +----------+---------------------------------+---------------------+--------+ 41 rows in set (0.00 sec)
To set the default character set to utf8mb4, you need to set the following variables in the configuration file:
[mysqld] character-set-server = utf8mb4 [mysql] default-character-set = utf8mb4
[Related recommendations: mysql video tutorial]
The above is the detailed content of What is the default character set of mysql. For more information, please follow other related articles on the PHP Chinese website!