如何解决如何解决该错误:COLLATION'utf8_general_ci'对于CHARACTER SET'latin1'mysql版本8.0.0docker,django,datagrip无效
我正在尝试使用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 |
+----------------------+-----------------+
解决方法
这里可能是两个问题。
-
您要从中获取数据的表是用不同的排序规则创建的。因此,
SHOW CREATE TABLE
会向您显示帮助以帮助揭晓它。 -
您的本地计算机和客户端正在使用另一个排序规则。在“高级”标签上设置
connectionCollation
应该会有所帮助。
此外,您可以通过在数据源的“ SET NAMES utf8;
”选项卡上将Options
设置为启动脚本来显式定义排序规则:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。