帮助中心

如果没有找到您需要的问题,随时联系我们

数据库字符集设置指南

2025-12-21 数据库帮助

正确设置字符集可以避免中文乱码问题。

MySQL字符集层次:

  1. 服务器级别
  2. 数据库级别
  3. 表级别
  4. 列级别
  5. 连接级别

推荐字符集:utf8mb4
utf8mb4是完整的UTF-8编码,支持表情符号等4字节字符。

查看当前字符集:

  • SHOW VARIABLES LIKE 'character%';
  • SHOW VARIABLES LIKE 'collation%';

服务器级别设置:

编辑my.cnf配置文件:

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

[client]
default-character-set = utf8mb4

创建数据库时指定:

CREATE DATABASE dbname
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

修改已有数据库:

ALTER DATABASE dbname
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

创建表时指定:

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

修改已有表:

ALTER TABLE users
CONVERT TO CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

连接时指定:

SET NAMES utf8mb4;

PHP连接设置:
$pdo->exec("SET NAMES utf8mb4");
或在连接字符串中指定charset=utf8mb4

常见排序规则:

  • utf8mb4_unicode_ci - 通用排序,推荐
  • utf8mb4_general_ci - 快速排序
  • utf8mb4_bin - 区分大小写
返回列表

相关文章

MongoDB数据库入门教程
Redis缓存使用入门教程
数据库表修复方法
大文件数据库导入技巧
Telegram