Home Database Mysql Tutorial mysql set character set

mysql set character set

May 08, 2023 am 09:36 AM

As a powerful open source database, MySQL is widely used in most applications in all walks of life. Character set setting is a very important issue when using MySQL. This article will introduce how to set the MySQL character set to help developers use the MySQL database correctly.

1. The concept of character set

Character set is a specification about the mapping relationship between codes and characters. It specifies the encoding method of computer characters. Character sets may have different settings in different database systems, and different character sets have different characteristics and advantages. For example, when processing Chinese characters, GB2312/GBK/GB18030 has advantages over Latin1/Latin7.

In MySQL, character set refers to the encoding of character data in databases, tables, and columns. In layman's terms, a character set refers to the way used to store and process characters and strings.

The character sets supported in MySQL mainly include the following: ASCII, GBK, GB2312, UTF-8, UTF-16 and ISO-8859, etc. Among them, UTF-8 is the most commonly used character set in MySQL because It supports multiple languages, has flexible encoding formats, saves space and other benefits.

2. How to set the MySQL character set

  1. Query the character set supported by MySQL

In the MySQL database, you can query the character set supported by the database through commands Character set, the method is as follows:

SHOW CHARACTER SET;

This command can list the various character sets available for MySQL, for example:

##dec8DEC West Europeandec8_swedish_ci1##cp850# #hp8HP West Europeanhp8_english_ci1koi8rKOI8-R Relcom Russiankoi8r_general_ci1latin1iso-8859-1 West Europeanlatin1_swedish_ci1iso-8859-2 Central European7bit Swedish##asciiUS ASCIIascii_general_ci1ujis_japanese_cisjis_japanese_cihebrew_general_ci##tis620TIS620 Thaitis620_thai_ci121##gb2312GB2312 Simplified Chinesegb2312_chinese_ci2##keybcs2DOS Kamenicky Czech-Slovakkeybcs2_general_ci1macceMac Central Europeanmacce_general_ci1macromanMac West Europeanmacroman_general_ci1cp852DOS Central Europeancp852_general_ci1latin7iso-8859-13 Balticlatin7_general_ci1##utf8mb4cp1251##utf16UTF-16 Unicodeutf16_general_ci4UTF-16LE UnicodeWindows ArabicWindows BalticUTF-32 UnicodeBinary pseudo charsetGEOSTD8 Georgian##cp932SJIS for Windows Japanesecp932_japanese_ci2eucjpms_japanese_ci
Charset Description Default collation Maxlen
big5 Big5 Traditional Chinese big5_chinese_ci 2
DOS West European cp850_general_ci 1
##latin2
latin2_general_ci 1 swe7
swe7_swedish_ci 1
##ujis EUC-JP Japanese
3 sjis Shift-JIS Japanese
2 hebrew iso-8859-8 Hebrew
1
##euckr EUC-KR Korean euckr_korean_ci
koi8u KOI8-U Ukrainian koi8u_general_ci
##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
UTF-8 Unicode utf8mb4_general_ci 4
Windows Cyrillic cp1251_general_ci 1
##utf16le
utf16le_general_ci 4 cp1256
cp1256_general_ci 1 cp1257
cp1257_general_ci 1 utf32
utf32_general_ci 4 binary
binary 1 geostd8
geostd8_general_ci 1
##eucjpms UJIS for Windows Japanese
3
  1. Set the character set of the database

When we create a new MySQL database, we can set the default character set of the database, so that the character set of all tables in the database will be used the character set. The specific steps are as follows:

2.1 First check the character sets supported by MySQL

mysql> SHOW CHARACTER SET;

2.2 When creating a new database, add a character set setting Define

CREATE DATABASE new_db CHARACTER SET utf8;

or

CREATE DATABASE new_db DEFAULT CHARACTER SET utf8;

where utf8 is one of the commonly used character sets.

  1. Set the character set of the MySQL table

In order for the fields of the table to store and display data correctly, we need to set the character set for the table. In MySQL, the character set of a table can be set when creating the table. If the table has been created, you can also modify the table through the Alter command.

3.1 Set the character set when creating the table

CREATE TABLE new_table (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL DEFAULT '',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Among them, ENGINE=InnoDB is used to set the storage engine of the table, and CHARSET=utf8 is used to set the default character set of the table. .

3.2 Modify the character set of the table

ALTER TABLE old_table CONVERT TO CHARACTER SET utf8;

or

ALTER TABLE old_table MODIFY COLUMN name VARCHAR(50) CHARACTER SET utf8;

Among them, the CONVERT TO command is used to modify the default character set of the table, and the MODIFY COLUMN command is used to modify the character set of a column in the table.

  1. Set the character set for MySQL connection

When connecting to the MySQL server, you can also set the character set for the operation. This character set setting is often called the "client character set" and refers to the character set of data transmitted in the client.

4.1 View the character set of the current connection

mysql> SELECT @@character_set_connection;

4.2 Modify the character set of the connection

SET character_set_connection = utf8;

or

mysql --default-character-set=utf8 -u root -p

Among them, the SET command can modify the default character set of the connection, --default-character The -set command can specify the client character set.

  1. Other character set settings

In some cases, you may need to open other character set settings of MySQL to handle some rare data storage and conversion Scenes. At this time, you may need to modify the MySQL configuration file - my.cnf file. Modifying this file may require administrator rights. The modification method is as follows:

5.1 Find the my.cnf file

In Linux, the my.cnf file is usually stored in the /etc/my.cnf or /etc/mysql/my.cnf directory .

In Windows, the my.cnf file is usually stored in the installation directory of the MySQL database.

5.2 Modify the my.cnf file

Add the following statement in the my.cnf file:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

Among them, the character_set_server command is used to set the listed character set, and the init_connect command is used to automatically set the character set when creating a connection.

  1. Summary

MySQL is a very popular open source database, and its character set setting plays a very important role. Correctly setting the character set of MySQL ensures normal reading, writing and storage of data. In this article, we introduce the basic concepts of MySQL character sets, how to set character sets when creating databases, tables, and connections, and how to modify the my.cnf file to enable more character set settings. This knowledge can help developers better use MySQL.

The above is the detailed content of mysql set character set. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

When might a full table scan be faster than using an index in MySQL? When might a full table scan be faster than using an index in MySQL? Apr 09, 2025 am 12:05 AM

Full table scanning may be faster in MySQL than using indexes. Specific cases include: 1) the data volume is small; 2) when the query returns a large amount of data; 3) when the index column is not highly selective; 4) when the complex query. By analyzing query plans, optimizing indexes, avoiding over-index and regularly maintaining tables, you can make the best choices in practical applications.

Explain InnoDB Full-Text Search capabilities. Explain InnoDB Full-Text Search capabilities. Apr 02, 2025 pm 06:09 PM

InnoDB's full-text search capabilities are very powerful, which can significantly improve database query efficiency and ability to process large amounts of text data. 1) InnoDB implements full-text search through inverted indexing, supporting basic and advanced search queries. 2) Use MATCH and AGAINST keywords to search, support Boolean mode and phrase search. 3) Optimization methods include using word segmentation technology, periodic rebuilding of indexes and adjusting cache size to improve performance and accuracy.

Can I install mysql on Windows 7 Can I install mysql on Windows 7 Apr 08, 2025 pm 03:21 PM

Yes, MySQL can be installed on Windows 7, and although Microsoft has stopped supporting Windows 7, MySQL is still compatible with it. However, the following points should be noted during the installation process: Download the MySQL installer for Windows. Select the appropriate version of MySQL (community or enterprise). Select the appropriate installation directory and character set during the installation process. Set the root user password and keep it properly. Connect to the database for testing. Note the compatibility and security issues on Windows 7, and it is recommended to upgrade to a supported operating system.

MySQL: Simple Concepts for Easy Learning MySQL: Simple Concepts for Easy Learning Apr 10, 2025 am 09:29 AM

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

Difference between clustered index and non-clustered index (secondary index) in InnoDB. Difference between clustered index and non-clustered index (secondary index) in InnoDB. Apr 02, 2025 pm 06:25 PM

The difference between clustered index and non-clustered index is: 1. Clustered index stores data rows in the index structure, which is suitable for querying by primary key and range. 2. The non-clustered index stores index key values ​​and pointers to data rows, and is suitable for non-primary key column queries.

Can mysql and mariadb coexist Can mysql and mariadb coexist Apr 08, 2025 pm 02:27 PM

MySQL and MariaDB can coexist, but need to be configured with caution. The key is to allocate different port numbers and data directories to each database, and adjust parameters such as memory allocation and cache size. Connection pooling, application configuration, and version differences also need to be considered and need to be carefully tested and planned to avoid pitfalls. Running two databases simultaneously can cause performance problems in situations where resources are limited.

The relationship between mysql user and database The relationship between mysql user and database Apr 08, 2025 pm 07:15 PM

In MySQL database, the relationship between the user and the database is defined by permissions and tables. The user has a username and password to access the database. Permissions are granted through the GRANT command, while the table is created by the CREATE TABLE command. To establish a relationship between a user and a database, you need to create a database, create a user, and then grant permissions.

Explain different types of MySQL indexes (B-Tree, Hash, Full-text, Spatial). Explain different types of MySQL indexes (B-Tree, Hash, Full-text, Spatial). Apr 02, 2025 pm 07:05 PM

MySQL supports four index types: B-Tree, Hash, Full-text, and Spatial. 1.B-Tree index is suitable for equal value search, range query and sorting. 2. Hash index is suitable for equal value searches, but does not support range query and sorting. 3. Full-text index is used for full-text search and is suitable for processing large amounts of text data. 4. Spatial index is used for geospatial data query and is suitable for GIS applications.

See all articles