我有数据库在UTF-8(utf8_general_ci)编码在phpMyAdmin.我将其作为CSV文件导出到另一台安装了MySQL Workbench的计算机.当我将其导入MySQL Workbench时,编码问题仅与西里尔字符有关.它显示为垃圾:

Звіти
Зелена карта

我已经判断了MySQL Workbench中的模式编码:

Default collation: utf8Mb3_General_CI

Default characterset:utf8Mb3

当我try 更改架构并在MySQL Workbench中设置UTF-8/utf8_general_ci时,它报告为:

Apply changes to pess   Changes applied 

但这一模式仍然是utf8mb3_general_ci/utf8mb3.问题是我如何才能将编码更改为MySQL Workbench中的UTF-8/utf8_general_ci?谢谢.

推荐答案

您应该在当前版本的MySQL 5.7或8.0中使用utf8mb4.

https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html

Note

在历史上,MySQL使用UTF8作为utf8mb3的别名;从 在MySQL 8.0.28中,utf8mb3专门用于show的输出 语句和信息架构表(当此字符集为 我的意思是.

在future 的某个时候,UTF8有望成为参考 Utf8Mb4.为了避免UTF8的含义含糊不清,请考虑 为字符集引用显式指定utf8mb4,而不是 UTF8.

您还应该知道,utf8mb3字符集已弃用 您应该可以预料到它将在future 的MySQL版本中被删除. 请改用utf8mb4.

Mysql相关问答推荐

慢查询日志(log)甚至包括快速查询,因为它包括等待锁定所花费的时间

MySQL INSERT INSERT ON DIPLICATE KEY UPDATE WITH COMPAY PRIMARY KEY失败

SQL - Select 复合主键,条件为其中一个主键

MySQL binlog事件上的并发事务行为

在MySQL查询中查找和替换表内的值

生成json数据并根据特定表的匹配条件进行过滤

将 JSON 类型的列与特定字符串值进行比较

如何在Pandas 中使用 to_sql

有没有比使用 MySQL 计划事件更好的方法来更新我的数据库表中的列?

Mysql JSON_REMOVE 数组键和值 (MariaDB)

基于 2 列的重复行的 SQL 查询

如何在任何连续范围内获得最大值

在 MySQL 中 Select COUNT of MAX

如何查询打印已售罄的产品? [MYSQL]

MySQL查询根据同一表中其他字段的值更新表中的字段

如何按给定开始日期和结束日期的月份汇总?

在 Android 上运行 AMP (apache mysql php)

#1030 - 从存储引擎 Aria 收到错误 176读取错误校验和的页面

错误:无法构建 gem 本机扩展(rails 3.2.3 上的 mysql2)

在 MySQL Workbench 中导出超过 1000 条记录的查询结果