Hướng dẫn how do i change mysql encoding to utf - làm cách nào để thay đổi mã hóa mysql thành utf

Từ UTF8 đến UTF8MB4:

1.Show tất cả các ký tự mặc định cơ sở dữ liệu:

SELECT SCHEMA_NAME 'YOUR_DATABASE_NAME', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;

2.Show Tất cả trạng thái bảng (bộ ký tự), tập trung vào cột 'đối chiếu':

use YOUR_DATABASE_NAME; SHOW TABLE STATUS ;

3. Chuyển đổi SQL: Chuyển đổi cơ sở dữ liệu & tất cả các bảng thành UTF8MB4, UTF8MB4_UNICODE_CI

USE information_schema; SELECT CONCAT("ALTER DATABASE `",table_schema,"` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;") AS _sql FROM `TABLES` WHERE table_schema LIKE "YOUR_DATABASE_NAME" AND TABLE_TYPE='BASE TABLE' GROUP BY table_schema UNION SELECT CONCAT("ALTER TABLE `",table_schema,"`.`",table_name,"` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;") AS _sql FROM `TABLES` WHERE table_schema LIKE "YOUR_DATABASE_NAME" AND TABLE_TYPE='BASE TABLE' GROUP BY table_schema, TABLE_NAME /*include all columns, commonly don't need this.*/ /* UNION SELECT CONCAT("ALTER TABLE `",`COLUMNS`.table_schema,"`.`",`COLUMNS`.table_name, "` CHANGE `",column_name,"` `",column_name,"` ",data_type,"(",character_maximum_length,") CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci",IF(is_nullable="YES"," NULL"," NOT NULL"),";") AS _sql FROM `COLUMNS` INNER JOIN `TABLES` ON `TABLES`.table_name = `COLUMNS`.table_name WHERE `COLUMNS`.table_schema like "YOUR_DATABASE_NAME" and data_type in ('varchar','char') AND TABLE_TYPE='BASE TABLE' UNION SELECT CONCAT("ALTER TABLE `",`COLUMNS`.table_schema,"`.`",`COLUMNS`.table_name, "` CHANGE `",column_name,"` `",column_name,"` ",data_type," CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci",IF(is_nullable="YES"," NULL"," NOT NULL"),";") AS _sql FROM `COLUMNS` INNER JOIN `TABLES` ON `TABLES`.table_name = `COLUMNS`.table_name WHERE `COLUMNS`.table_schema like "YOUR_DATABASE_NAME" and data_type in ('text','tinytext','mediumtext','longtext') AND TABLE_TYPE='BASE TABLE'; */

4.Run SQL được tạo ra.

5. Đổi cơ sở dữ liệu của bạn.

6.check:

SHOW TABLE STATUS ;

Theo mặc định, cơ sở dữ liệu MySQL có bộ và đối chiếu ký tự Latin1. Tuy nhiên, đôi khi bạn có thể cần lưu trữ các ký tự UTF8 trong cơ sở dữ liệu MySQL. Ở đây, cách thay đổi bộ ký tự từ Latin1 sang UTF8.

Cách chuyển đổi cơ sở dữ liệu MySQL từ Latin1 sang UTF8

Dưới đây là các bước để thay đổi ký tự được đặt từ Latin1 sang UTF cho cơ sở dữ liệu MySQL.

1. Xác định bộ ký tự hiện tại

Đăng nhập vào công cụ dòng lệnh MySQL. Bạn sẽ thấy một dấu nhắc mật khẩu. Nhập mật khẩu của bạn để đăng nhập vào cơ sở dữ liệu MySQL.

$ sudo mysql -uroot -p

Chạy lệnh sau để xác định bộ ký tự hiện tại của cơ sở dữ liệu của bạn. Thay thế cơ sở dữ liệu_name bên dưới bằng tên cơ sở dữ liệu của bạn

mysql> SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "database_name"; +----------------------------+ | default_character_set_name | +----------------------------+ | latin1 | +----------------------------+

Nếu bạn muốn xác định bộ ký tự cho một bảng cơ sở dữ liệu cụ thể, hãy chạy lệnh sau. Thay thế cơ sở dữ liệu_name và Table_Name bằng cơ sở dữ liệu và tên bảng của bạn tương ứng.

mysql> SELECT CCSA.character_set_name FROM information_schema.TABLES T, information_schema.COLLATION_CHARACTER_SET_APPLICABILITY CCSA WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "database_name" AND T.table_name = "table_name";

Chạy lệnh sau để thay đổi bộ ký tự của cơ sở dữ liệu MySQL từ Latin1 sang UTF8. Thay thế cơ sở dữ liệu_name bằng tên cơ sở dữ liệu của bạn

Cho mysql> 5.5

mysql> ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Cho mysql

mysql> ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Tiền thưởng Đọc: Cách xếp hạng phân vùng trong MySQL

Tương tự, ở đây, Lệnh để thay đổi bộ ký tự của bảng MySQL từ Latin1 sang UTF8. Thay thế table_name bằng tên bảng cơ sở dữ liệu của bạn.

Cho mysql> 5.5

mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Cho mysql

use YOUR_DATABASE_NAME; SHOW TABLE STATUS ; 0

Tiền thưởng Đọc: Cách xếp hạng phân vùng trong MySQL

Tương tự, ở đây, Lệnh để thay đổi bộ ký tự của bảng MySQL từ Latin1 sang UTF8. Thay thế table_name bằng tên bảng cơ sở dữ liệu của bạn.

  • Hy vọng, hướng dẫn trên sẽ giúp bạn thay đổi ký tự cơ sở dữ liệu được đặt thành UTF8MB4 (UTF-8).

Làm cách nào để lưu UTF

Cách lưu trữ các ký tự UTF8 trong MySQL..
Kiểm tra bộ ký tự. Mở thiết bị đầu cuối và chạy lệnh sau thay thế tên người dùng bên dưới bằng tên người dùng cơ sở dữ liệu của bạn. ....
Thay đổi ký tự được đặt thành UTF8. Mở tệp My.cnf trong thiết bị đầu cuối $ sudo vi /etc/my.cnf. ....
Khởi động lại máy chủ MySQL. ....
Chuyển đổi cơ sở dữ liệu MySQL thành UTF8 ..

Làm cách nào để thay đổi ký tự mặc định trong mysql?

Máy chủ MySQL có bộ và đối chiếu ký tự mặc định được biên dịch.Để thay đổi các mặc định này, hãy sử dụng các tùy chọn-collation-server-collation-server --character-set-server khi bạn khởi động máy chủ.use the --character-set-server and --collation-server options when you start the server.

Làm thế nào tôi có thể nhận được UTF

Bốn bước tốt để luôn nhận được văn bản UTF-8 được mã hóa chính xác:..
Chạy truy vấn này trước bất kỳ truy vấn nào khác: mysql_query ("đặt tên 'utf8'") ;.
Thêm điều này vào đầu HTML của bạn:.
Thêm cái này ở đầu mã PHP của bạn:.

Mã hóa mặc định MySQL là gì?

Bộ và đối chiếu ký tự máy chủ MySQL mặc định là Latin1 và latin1_swedish_ci, nhưng bạn có thể chỉ định các bộ ký tự tại các cấp độ máy chủ, cơ sở dữ liệu, bảng, cột và chuỗi.latin1 and latin1_swedish_ci , but you can specify character sets at the server, database, table, column, and string literal levels.

Chủ đề