How to create a MySQL database and support Chinese characters

How to create a MySQL database and support Chinese characters

Let's first look at the MySQL official documentation: 5.7

CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
 [create_option] ...

create_option: [DEFAULT] {
 CHARACTER SET [=] charset_name
 | COLLATE [=] collation_name
}

By looking at the variables of the MySQL server, we know that the character set enabled by default when MySQL creates a database is latinl :

insert image description here

Now we need to specify the character set utf8 that supports Chinese for the created database db2. The following is a line of content!

CREATE DATABASE db2 IF NOT EXISTS db2 
DEFAULT CHARACTER SET utf8 
COLLATE utf_general_ci;

Above we have completed the creation of a database that supports inserting Chinese data. Now let's think about a question. The only character set that supports Chinese is utf8. What else are there? What is the difference between them?
Let's first take a look at the character sets and character rules supported by MySQL 5.7.x:

mysql> SELECT version();
+-----------+
| version() |
+-----------+
| 5.7.32 |
+-----------+
1 row in set (0.00 sec)

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)

The four character sets gb2312, gbk, gb18030, utf8, and utf8mb4 all support Chinese.
For an introduction to gb2312, gbk, and gb18030, refer to this Zhihu article: Three Introductions For an introduction to utf8 and utf8mb4, refer to this article: The Difference Between utf8 and utf8mb4

This is the end of this article about how to create a database in MySQL and support Chinese characters. For more information about MySQL supporting Chinese characters, please search for previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Mysql anonymous login cannot create a database problem solution
  • Introduction to adding new users to MySql, creating databases for users, and assigning permissions to users
  • mysql create database, add users, user authorization practical method
  • Two ways to create a MySQL database
  • Create database and database table code with MySQL
  • Example of creating a database using PHP
  • Create database php code and write your own BLOG system with PHP
  • PHP Desktop Center (I) Creating a database
  • MySQL and PHP basics and application topics: creating database tables

<<:  Bundling non-JavaScript static resources details

>>:  Solution to the problem that the image name is none after Docker load

Recommend

Three useful codes to make visitors remember your website

Three useful codes to help visitors remember your...

How to configure the Runner container in Docker

1. Create a runner container mk@mk-pc:~/Desktop$ ...

Simple writing of MYSQL stored procedures and functions

What is a stored procedure Simply put, it is a se...

Vue2 implements provide inject to deliver responsiveness

1. Conventional writing in vue2 // The parent com...

jQuery implements the bouncing ball game

This article shares the specific code of jQuery t...

Installation and daemon configuration of Redis on Windows and Linux

# Installation daemon configuration for Redis on ...

In-depth explanation of Mysql deadlock viewing and deadlock removal

Preface I encountered a Mysql deadlock problem so...

Solution to Element-ui upload file upload restriction

question Adding the type of uploaded file in acce...

In-depth understanding of HTML form input monitoring

Today I saw a blog post about input events, and o...

How to use the MySQL authorization command grant

The examples in this article run on MySQL 5.0 and...

Vue routing lazy loading details

Table of contents 1. What is lazy loading of rout...