gpt4 book ai didi

mysql - 导入sql文件时出现UTF-8编码问题

转载 作者:行者123 更新时间:2023-11-29 04:15:13 24 4
gpt4 key购买 nike

我有一个托管 MySQL 的服务器,PHPMyAdmin 报告:

Server version: 5.1.56-community
MySQL charset: UTF-8 Unicode (utf8)

我使用 mysqldump -uroot -p database > file.dumpmysqldump -uroot -p database -r file.dump 导出一个 sql(两个生成的文件无论如何都是相同的)。

在本地,我安装了 MySQL 5.5 和 HeidiSQL 9.5。

作为服务器的 SQL 文件 my.ini 有:

default-character-set=utf8

我把本地的my.ini文件改成有

default-character-set=utf8

还有:

character-set-server=utf8

它们都设置为 latin1。不知道为什么我在此处设置了 character-set-server 而服务器没有。无论如何。

现在我启动 HeidiSQL,它显示 utf8mb4 引用而不是 session 参数的 utf8。我不知道为什么:

enter image description here

现在,我导入了我的转储文件,我发现即使所有内容显然都是在 utf8 中配置的,但看起来我有一些编码问题。

在服务器上,我看到: enter image description here

在本地,在 HeidiSQL 中,我看到: enter image description here

à 等特殊字符在本地数据库中显示不正确。

我做错了什么吗?

请注意,如果我在服务器上安装 HeidiSQL,变量选项卡会显示相同的 SessionGlobal 参数值,以及 à 显示正确。

所以这可能是问题的根本原因,但我不知道如何解决。如果我在导入 sql 文件之前更改了 Session 值,它不会解决问题,而且当我再次启动 HeidiSQL 时,值也会返回到 utf8mb4

最佳答案

感谢 deceze 评论,我可以解决这个问题。

在HeidiSQL中,当我选择要执行的sql文件时,实际上有一个我原来没有注意到的“ncoding”选项;-)

如果我保留“自动检测”,导入会生成错误内容(带有 mojibake 字符)

如果我强制使用“UTF-8”,导入是完美的

不知道为什么 HeidiSQL 无法自动检测编码...

关于mysql - 导入sql文件时出现UTF-8编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52443987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com