【发布时间】:2021-01-19 17:00:21
【问题描述】:
我正在尝试使用 datagrip 进行数据库管理。我可以创建连接,但是当数据库的数据出现此错误时:
[42000][1253] COLLATION 'utf8_general_ci' is not valid for CHARACTER SET
'latin1'. COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
我只寻找解决方案,但似乎都不起作用。其中一些涉及更改 /etc/mysql/my.cnf 文件,它显示了应该有效但没有任何效果的更改。
my.cnf:
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
[client]
loose-default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
结果:
show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
show variables like '%collation%'
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
【问题讨论】:
-
我也试过了,但它没有解决任何问题:((只是再试了一次,也没有用)
-
哪个是 MySQL 服务器版本? DataGrip 中选择了哪个驱动程序版本?开放数据源属性。转到高级选项卡并检查参数'characterset'和'characterSetResuts'是否设置为utf8。
-
你的目标数据库的排序规则是什么?
-
@YuriWin characterSetResult = utf8 我无法提前找到字符集选项。我使用的图像是 mysql:8.0.0 图像,因为这是唯一一个可以与最新的 mysqlclient 一起使用的图像,我能够找到适用于 windows 我想使用最新版本,但我找不到 windows 轮文件不管是 2.0.1。我现在不知道我的数据库的排序规则是什么(character_set_database = utf8,collation_database = utf8_general_ci)驱动程序是 8.0.13
标签: mysql docker-compose datagrip