⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

MySQL 字符集与排序规则

深入理解MySQL字符集和排序规则,避免乱码问题,确保数据正确存储和比较。 · 难度:入门 · +15XP

字符集基础

字符集(Character Set)定义字符的编码方式,如UTF-8、GBK。排序规则(Collation)定义字符的比较和排序规则。MySQL中每个字符集都有对应的排序规则。

常用字符集

字符集说明推荐场景
utf8mb4UTF-8完整实现,支持4字节字符(如emoji)现代应用首选
utf8MySQL的utf8是utf8mb3,不支持4字节字符兼容旧系统
latin1西欧字符集历史遗留系统
gbk中文GBK编码国内旧系统

查看和设置字符集

-- 查看当前字符集设置
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

-- 设置数据库字符集 CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 设置表字符集 CREATE TABLE users ( name VARCHAR(100) ) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 修改现有表字符集 ALTER TABLE users CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

排序规则说明

排序规则后缀含义:

避免乱码的实践

  1. 统一使用utf8mb4字符集
  2. 连接时指定字符集:SET NAMES utf8mb4
  3. 确保客户端、连接、数据库、表、列字符集一致

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 68 篇
0 完成
🔥 0