![]() |
1
5
感谢deceze的评论,我可以解决这个问题。
如果我保持“auto-detect”,导入会生成不好的内容(带有mojibake字符)
不知道为什么HeidiSQL无法自动检测编码。。。 |
![]() |
2
2
一些想法: 看起来您的角色集是正确的。HeidiSQL显示一个不同的字符集,这可能是因为客户机自己设置了一个字符集。 例如,mysql服务器在默认情况下可能使用“Character set A”。如果客户机连接并说他们需要“字符集B”,服务器将动态地转换它。
不管怎样,你得到 mojibake 可能与正确设置这些字符集无关。
如果我是对的,这意味着您可以将所有的列、连接和表设置为UTF-8,但是您的数据很糟糕。
你真的需要相反的操作。例如,如果您有一个PHP字符串
在MySQL中也可以解决这个问题。看到这个了吗 stack overflow question. 需要注意的几点:
旁注:这个问题非常常见。你有点幸运,你是法国人,因为这突出了问题所在。我见过的许多英语系统都有这个问题,但很长一段时间以来它基本上没有被注意到,因为很多文本都没有超出常见的ASCII范围。 |
![]() |
3
0
见Mojibake in
Trouble with UTF-8 characters; what I see is not what I stored
可能的原因。可能涉及“双重编码”;让我们看看
至于修复数据——这取决于您使用的是简单的Mojibake还是双重编码。看到了吗 http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases 两个都是。 |