当前位置:Gxlcms > 数据库问题 > MySQL字符集与校对

MySQL字符集与校对

时间:2021-07-01 10:21:17 帮助过:12人阅读

一、什么是字符集与校对

1.字符集与校对

字符集是指一种从二进制编码到某种字符符号的映射。

校队是指一组用于某个字符集的配许规则。

2.utf8与utf8mb4

标准的UTF-8字符集编码是可以使用1-4个字节去编码21位字符,这几乎包含了世界上所有能看见的语言。
MySQL里面实现的utf8最长使用3个字符,包含了大多数字符但并不是所有。例如emoji和一些不常用的汉字,如“墅”,这些需要四个字节才能编码的就不支持。

MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。建议选用utf8mb4的编码。

二、如何设置字符集与校队

数据库默认字符集设置:character_set_server

表的字符集设置:将根据数据库的字符集设置来指定这个表的字符集

列的字符集设置:将根据表的设置来指定列的字符集设置

注意:真正存放数据的是列,所以更高“阶梯”的设置只是制定默认值。一个表的默认字符集设置,无法影响存储在这个表中某个列的值。只有当创建列,而没为列有指定字符集的时候,表的默认字符集才会在列上生效。

1.查看、修改数据库字符集与校对

1)查看

SHOW VARIABLES WHERE Variable_name LIKE ‘character\_set\_%‘ OR Variable_name LIKE ‘collation%‘;

技术分享图片

2)修改

在配置文件中修改

character_set_server = utf8mb4

collation_server         = utf8mb4_unicode_ci

2.查看、修改指定数据库的字符集与校对

1)查看

SHOW CREATE DATABASE dbname;

技术分享图片

2)修改

ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];  

3.查看、修改表的字符集与校对

1)查看

SHOW CREATE TABLE tbl_name;

技术分享图片

2)修改

修改表的字符集与校队

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];

修改表与列的字符集与校对

ALTER TABLE tbl_name CONVERT TO CHARACTER SET character_name [COLLATE ...] ;

4.查看、修改列的字符集与校对

1)查看

SHOW FULL COLUMNS FROM tbl_name;

技术分享图片

2)修改

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...]; 

 

MySQL字符集与校对

标签:.com   根据   数字   variable   collate   code   转换   文件   语言   

人气教程排行