首页 >

mysql的字符编码怎么改 |mysql 插入跳过错误

mysql 导出命令数据,查看mysql读写权限,mysql版本更新了什么,wpf连接阿里云MySQL,mysql modify6,mysql 插入跳过错误mysql的字符编码怎么改 |mysql 插入跳过错误

首先,为了更好地了解MySQL字符编码问题,让大家来看一下一些基本概念。

1. 字符集(Character Set): 字符集定义了可输入进数据库的字符集合,例如ASCII、UTF-8、GB2312等。

2. 排序规则(Collation): 排序规则定义了字符集中各个字符的顺序,不同的排序规则会影响到字符串的排序结果。

对于 UTF-8 的排序规则:
utf8_general_ci       utf8mb4_general_ci       utf8mb4_unicode_ci
a=a                   a=a                       a=a
a=A                   a=A                       a=A
A=a                   A=a                       ä=a
A=A                   A=A                       ä=ä
ä=a                   ä=ä                       å=ä
ä=ä                 ä=ä                     å=å
å=ä                 å=å                       ch=y
ch=y                 ch=y                     z=ž
z=ž                  z=ž                        2=2
2=2                  2=2                        !=ณ
!=ณ                !=ณ                       !=ໆ
!=ໆ                 !=ໆ

3. 字符编码(Character Encoding): 字符编码是用来描述如何将字符映射为数字的一套规则。

那么,如何改变MySQL字符编码呢?接下来大家就进入正题。

1. 确定当前MySQL字符编码

使用以下命令可以查看MySQL中的字符编码。

SHOW VARIABLES LIKE 'character_set%';

使用以下命令可以查看MySQL中的排序规则。

SHOW VARIABLES LIKE 'collation%';

2. 备份MySQL数据库

改变MySQL字符编码之前一定要先备份数据库。备份可以避免数据丢失。

3. 修改MySQL配置文件

修改MySQL配置文件中默认的字符集和排序规则。

vi /etc/mysql/my.cnf
[mysqld]
default-character-set=utf8mb4
collation-server=utf8mb4_unicode_ci
[client]
default-character-set=utf8mb4

4. 重启MySQL服务器

使用以下命令可以重启MySQL服务器。

service mysql restart

5. 修改MySQL数据库中已存在的表的字符集和排序规则

在MySQL中,表的字符集和排序规则是与数据库相关联的。因此,在修改表字符集和排序规则之前,请先找出数据库的默认值。

show create database databasename;

将databasename替换成你的数据库名称。

使用以下SQL语句来修改某个表的字符集和排序规则。

ALTER TABLE tablename CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

将tablename替换成你的表名称。重复执行上述命令直到所有的表都被修改。

6. 验证字符集和排序规则

使用以下命令可以再次验证MySQL中的字符编码。

SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';

总结:

确定当前MySQL字符编码->备份MySQL数据库->修改MySQL配置文件->重启MySQL服务器->修改MySQL数据库中已存在的表的字符集和排序规则->验证字符集和排序规则。