当前位置: 首页 > news >正文

建库字符集选择`utf8mb4` + `utf8mb4_unicode_ci` 组合

在 MySQL 中创建 UTF-8 编码的数据库时,请直接使用 **`utf8mb4`** 字符集(而非旧版的 `utf8`),这是 MySQL 中真正的 UTF-8 实现。以下是具体操作和注意事项:

---

### 一、创建数据库(2种方式)
#### 1. 基础版(自动选择默认校对规则)
```sql
CREATE DATABASE your_database_name 
  CHARACTER SET utf8mb4 
  COLLATE utf8mb4_unicode_ci;
```

#### 2. 精简版(MySQL 8.0+ 默认使用 `utf8mb4`)
```sql
CREATE DATABASE your_database_name;
```

---

### 二、为什么必须选 `utf8mb4`?
- ✅ **完全支持 Unicode**:包含 Emoji 表情符号(如 😊)、生僻汉字、特殊符号等(`utf8` 仅支持 3 字节字符,无法存储 4 字节字符)。
- ✅ **兼容性**:现代 MySQL 版本(5.5.3+)均支持,且是当前标准方案。

---

### 三、校对规则选择(`COLLATE`)
- **`utf8mb4_unicode_ci`**:基于 Unicode 标准排序,准确性高(推荐)。
- **`utf8mb4_general_ci`**:旧式简单排序,速度快但准确性略低(已逐渐淘汰)。

---

### 四、后续使用注意事项
1. **创建表时显式指定字符集**(避免继承服务器默认配置):
   ```sql
   CREATE TABLE your_table (
     id INT PRIMARY KEY,
     content VARCHAR(255)
   ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
   ```

2. **连接字符串配置**(确保应用层与数据库编码一致):
   - JDBC 示例:`jdbc:mysql://host/db?useUnicode=true&characterEncoding=UTF-8`
   - 其他语言同理,需明确指定 UTF-8 编码。

---

### 五、验证设置是否生效
```sql
-- 查看数据库编码
SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM INFORMATION_SCHEMA.SCHEMATA
WHERE SCHEMA_NAME = 'your_database_name';

-- 查看表编码
SHOW CREATE TABLE your_table;
```

---

**总结**:直接使用 `utf8mb4` + `utf8mb4_unicode_ci` 组合,确保全面兼容 Unicode 并避免未来编码问题。

相关文章:

  • 第三讲 | C/C++内存管理完全手册
  • 3. 轴指令(omron 机器自动化控制器)——>MC_CamIn
  • 在VMware17中安装使用Ubuntu虚拟机
  • 数据结构笔记
  • R语言结构方程模型(SEM)在生态学领域中的应用
  • 【HTML5】02-列表 + 表格 + 表单
  • 堆外内存 OOM:现象分析与优化方案
  • kubeval结合kube-score实现k8s yaml文件校验
  • 自动化测试【Python3.7+Selenium3】
  • langgraph简单Demo3(画一个简单的图)
  • “我是GM”之NAS搭建Luanti游戏服务器,开启沙盒游戏新体验
  • 联想EMC VNX5600使用的端口
  • 爬虫(requsets)笔记
  • Java 在 运行期、源码级别 和 字节码级别 处理的对比分析,涵盖定义、实现方式、优缺点及典型应用场景
  • root无权限修改文件内容处理
  • 【性能优化点滴】odygrd/quill 中一个简单的标记位作用--降低 IO 次数
  • 京准电钟:网络安全系统时间同步的作用是什么?
  • 一、大语言模型微调 vs. 大语言模型应用
  • 【Redis】高性能内存数据库的多场景应用
  • python机器学习——新手入门学习笔记
  • 伤者升至80人,伊朗港口爆炸源头或为“危险品和化学品仓库”
  • 陈平评《艺术科学的目的与界限》|现代艺术史学的奠基时代
  • 龚曙光:散文家永远只有一个视角,就是“我与时代”
  • 在黄岩朵云书院,邂逅陈丹燕与月季花的故事
  • 公安部知识产权犯罪侦查局:侦破盗录传播春节档院线电影刑案25起
  • 双拥主题歌曲MV:爱我人民,爱我军