设置mysql 数据库和表 的编码方式UTF-8

要设置 MySQL 数据库表和字段的编码方式为 UTF-8,可以使用下面的SQL语句:

1. 设置数据库默认编码为 UTF-8:

sql 复制代码
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2. 创建表时指定编码为 UTF-8:

sql 复制代码
CREATE TABLE your_table_name (
    column1 VARCHAR(100) CHARACTER SET utf8mb4,
    column2 TEXT CHARACTER SET utf8mb4,
    ...
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

3. 修改已存在表的编码方式为 UTF-8:

sql 复制代码
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

4. 修改表中字段的编码方式为 UTF-8:

sql 复制代码
ALTER TABLE your_table_name MODIFY column_name VARCHAR(100) CHARACTER SET utf8mb4;

your_database_name: 数据库名

your_table_name: 表名

column_name: 字段名。

这些语句将确保数据库、表和字段的编码方式都设置为 UTF-8。

5. 编码集推荐:

一般推荐选择以下几种常用的字符编码集:按需求进行选择

  • utf8mb4: 如果需要支持包括 emoji 在内的所有 Unicode 字符,或者需要存储多语言文本,可以选择 utf8mb4 编码。

  • utf8: 如果不需要存储 emoji 或者特殊的 Unicode 字符,但仍然需要支持多语言文本,可以选择 utf8 编码。需要注意的是,在 MySQL 8.0 及以上版本,utf8 默认使用了 utf8mb4 的字符集,因此实际上建议直接使用 utf8mb4

  • latin1: 如果只需要存储西欧语言的文本,且对存储空间有较高要求,可以选择 latin1 编码。不过需要注意,latin1 编码不支持 Unicode 字符。

相关推荐
nbsaas-boot42 分钟前
Java 正则表达式白皮书:语法详解、工程实践与常用表达式库
开发语言·python·mysql
sun0077003 小时前
mysql索引底层原理
数据库·mysql
程序员秘密基地3 小时前
基于html,css,vue,vscode,idea,,java,springboot,mysql数据库,在线旅游,景点管理系统
java·spring boot·mysql·spring·web3
workflower6 小时前
MDSE和敏捷开发相互矛盾之处:方法论本质的冲突
数据库·软件工程·敏捷流程·极限编程
叁沐6 小时前
MySQL 11 怎么给字符串字段加索引?
mysql
Tony小周6 小时前
实现一个点击输入框可以弹出的数字软键盘控件 qt 5.12
开发语言·数据库·qt
lifallen6 小时前
Paimon 原子提交实现
java·大数据·数据结构·数据库·后端·算法
TDengine (老段)7 小时前
TDengine 数据库建模最佳实践
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Elastic 中国社区官方博客7 小时前
Elasticsearch 字符串包含子字符串:高级查询技巧
大数据·数据库·elasticsearch·搜索引擎·全文检索·lucene
Gauss松鼠会7 小时前
GaussDB应用场景全景解析:从金融核心到物联网的分布式数据库实践
数据库·分布式·物联网·金融·database·gaussdb