本文整理自网络,侵删。
目录
- MySQL 中的 UTF8
- 修改MySQL数据库的编码
- 字符集的比较规则
- MySQL查询时区分大小写
MySQL 中的 UTF8
在 MySQL 中, utf8 编码格式有点特殊, 它不是我们通常用到的 utf8, 而是 utf8mb3 编码的缩写. 而 utf8mb4 才是我们常说的那个 utf8.
utf8mb3
:阉割过的 utf8 字符集, 只使用 1~3 个字节表示字符.utf8mb4
:正宗的 utf8 字符集, 使用 1~4 个字节表示字符.
通常情况下, utf8mb3 和 utf8mb4 的使用区别不大, 但是如果有使用 4 字节编码一个字符的情况, 比如存储一些 emoji 表情
, 那就必须使用 utf8mb4 编码.
修改MySQL数据库的编码
当我们 MySQL 数据库的编码已经是UTF8 时, 此时需要对某个表的某个字段支持插入emoji 表情,前面说过 emoji 表情需要 utf8mb4 才支持。所以此时就需要修改 MySQL 的编码。
注意:utf8mb4 字符集要求 MySQL 数据库版本 >=5.5.3
。
修改的步骤如下:
1.修改 mysql 配置文件,设置其编码格式,添加或修改如下代码:
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect = 'SET NAMES utf8mb4' character-set-client-handshake = false [client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4
2.修改数据库字符集编码
-- 设置指定数据库的字符集编码,xxx 为数据库名称 ALTER DATABASE xxx CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3.修改数据表字符集编码
-- 设置指定数据表的字符集编码 ALTER TABLE xxx.yyy CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
4.检测是否修改成功
SHOW VARIABLES WHERE Variable_name LIKE 'character%' OR Variable_name LIKE 'collation%';
5.插入一个emoji表情来测试下:
UPDATE yyy SET comments = '测试表情??' WHERE id = 1;
字符集的比较规则
MySQL 有 4 个级别的字符集, 分别是: 服务器级别, 数据库级别, 表级别, 列级别。同时对应了4个级别的比较规则,即服务器级别, 数据库级别, 表级别, 列级别。
相关阅读 >>
asp.net过滤类sqlfilter,防止sql注入 font color=red原创font
更多相关阅读请进入《sql》频道 >>

数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » MySQL中字符集详细介绍
标签:sql
相关推荐
评论
管理员已关闭评论功能...