Home Database Mysql Tutorial How to set character set in mysql

How to set character set in mysql

May 27, 2023 pm 01:38 PM
mysql

1. The concept of character set

Character set standardizes the mapping relationship between codes and characters, and specifies the encoding method of computer characters. The character set settings in different database systems may be different, and different character sets have unique characteristics and advantages. Compared with Latin1/Latin7, GB2312/GBK/GB18030 has greater advantages in processing Chinese characters.

In MySQL, character set refers to the way to encode character data, including 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 sets supported by the database through commands as follows:

SHOW CHARACTER SET;

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

##dec8DEC West Europeandec8_swedish_ci1cp850DOS West Europeancp850_general_ci1hp8HP West Europeanhp8_english_ci1koi8r KOI8-R Relcom Russiankoi8r_general_ci1latin1iso-8859-1 West Europeanlatin1_swedish_ci1latin2iso-8859-2 Central Europeanlatin2_general_ci1swe77bit Swedishswe7_swedish_ci1asciiUS ASCIIascii_general_ci1##ujissjishebrewtis620euckrkoi8ugb2312##greekiso-8859- 7 Greekgreek_general_ci1cp1250Windows Central Europeancp1250_general_ci1GBK Simplified Chineseiso-8859-9 Turkish##armscii8ARMSCII-8 Armenian armscii8_general_ci1utf8UTF-8 Unicodeutf8_general_ci 3ucs2_general_cicp866_general_ci##keybcs2DOS Kamenicky Czech-Slovakkeybcs2_general_ci1macceMac Central Europeanmacce_general_ci1macromanMac West Europeanmacroman_general_ci1cp852DOS Central Europeancp852_general_ci1141##utf16UTF -16 Unicodeutf16_general_ci4utf16leUTF-16LE Unicodeutf16le_general_ci4cp1256Windows Arabiccp1256_general_ci1cp1257Windows Balticcp1257_general_ci1
Charset Description Default collation Maxlen
big5 Big5 Traditional Chinese big5_chinese_ci 2
EUC-JP Japanese ujis_japanese_ci 3
Shift-JIS Japanese sjis_japanese_ci 2
iso-8859-8 Hebrew hebrew_general_ci 1
TIS620 Thai tis620_thai_ci 1
EUC-KR Korean euckr_korean_ci 2
KOI8-U Ukrainian koi8u_general_ci 1
GB2312 Simplified Chinese gb2312_chinese_ci 2
##gbk
gbk_chinese_ci 2 latin5
latin5_turkish_ci 1
##ucs2 UCS-2 Unicode
2 cp866 DOS Russian
1
##latin7 iso-8859-13 Baltic latin7_general_ci
utf8mb4 UTF-8 Unicode utf8mb4_general_ci
cp1251 Windows Cyrillic cp1251_general_ci
##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
  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 all tables in the database All character sets will use this 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 Set

CREATE DATABASE new_db CHARACTER SET utf8;

or

The following sentence is rewritten: "Create a new database called 'new_db' with a default character set of utf8."

where utf8 is one of the commonly used character sets.

  1. Set the character set of the MySQL table

In order to ensure that the table can store and display data correctly, we need to set the character encoding for the table. In MySQL, the character set of a table can be set when creating the table. Already created tables can be modified using 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;

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

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. The character set setting, often called "client character set", refers to the character set used for data transmitted on the client side.

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, in order to handle some less common data storage and conversion requirements, it may be necessary to enable Additional character set settings for MySQL. In this case, you may need to modify the MySQL configuration file-my.cnf file with administrator privileges. 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.

The above is the detailed content of How to set character set in mysql. 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 Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

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)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1269
29
C# Tutorial
1249
24
MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

Laravel Introduction Example Laravel Introduction Example Apr 18, 2025 pm 12:45 PM

Laravel is a PHP framework for easy building of web applications. It provides a range of powerful features including: Installation: Install the Laravel CLI globally with Composer and create applications in the project directory. Routing: Define the relationship between the URL and the handler in routes/web.php. View: Create a view in resources/views to render the application's interface. Database Integration: Provides out-of-the-box integration with databases such as MySQL and uses migration to create and modify tables. Model and Controller: The model represents the database entity and the controller processes HTTP requests.

MySQL and phpMyAdmin: Core Features and Functions MySQL and phpMyAdmin: Core Features and Functions Apr 22, 2025 am 12:12 AM

MySQL and phpMyAdmin are powerful database management tools. 1) MySQL is used to create databases and tables, and to execute DML and SQL queries. 2) phpMyAdmin provides an intuitive interface for database management, table structure management, data operations and user permission management.

MySQL vs. Other Programming Languages: A Comparison MySQL vs. Other Programming Languages: A Comparison Apr 19, 2025 am 12:22 AM

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages ​​such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages ​​have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

Solve database connection problem: a practical case of using minii/db library Solve database connection problem: a practical case of using minii/db library Apr 18, 2025 am 07:09 AM

I encountered a tricky problem when developing a small application: the need to quickly integrate a lightweight database operation library. After trying multiple libraries, I found that they either have too much functionality or are not very compatible. Eventually, I found minii/db, a simplified version based on Yii2 that solved my problem perfectly.

Laravel framework installation method Laravel framework installation method Apr 18, 2025 pm 12:54 PM

Article summary: This article provides detailed step-by-step instructions to guide readers on how to easily install the Laravel framework. Laravel is a powerful PHP framework that speeds up the development process of web applications. This tutorial covers the installation process from system requirements to configuring databases and setting up routing. By following these steps, readers can quickly and efficiently lay a solid foundation for their Laravel project.

MySQL for Beginners: Getting Started with Database Management MySQL for Beginners: Getting Started with Database Management Apr 18, 2025 am 12:10 AM

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA

Solve MySQL mode problem: The experience of using the TheliaMySQLModesChecker module Solve MySQL mode problem: The experience of using the TheliaMySQLModesChecker module Apr 18, 2025 am 08:42 AM

When developing an e-commerce website using Thelia, I encountered a tricky problem: MySQL mode is not set properly, causing some features to not function properly. After some exploration, I found a module called TheliaMySQLModesChecker, which is able to automatically fix the MySQL pattern required by Thelia, completely solving my troubles.

See all articles