gpt4 book ai didi

mysql - 如何解码mysql中错误编码的数据

转载 作者:行者123 更新时间:2023-11-29 14:54:10 24 4
gpt4 key购买 nike

我有带有“latin1_swedish_ci”排序规则的 mysql 表。该表用于存储多种语言(俄语、英语、拉脱维亚语)的字符串。结果,存储在表中的字符串被错误编码。例如:Двери 存储为 Двери

我花了几个小时试图找到编码,这将使我能够使用“utf8_general_ci”排序规则在新表中正确存储字符串。

我使用 python 来猜测错误字符串的解码。我运行了数十种不同的编码,得到的最接近的是
print "Двери".decode("latin1")
给我ÐвеÑи,它很接近,但不完全Двери

我想知道 latin1 编码是否有一些变化,这会给我一个正确的编码?如果有人能建议一种解决一般类似问题的方法,我将不胜感激?
谢谢。

最佳答案

当存储数据中使用的编码与为列定义的编码不匹配时,您可以先切换到二进制类型,然后再返回到具有适当字符集的文本类型。例如,备份数据库后,

ALTER TABLE table MODIFY col varbinary(...);
ALTER TABLE table MODIFY col varchar(...) CHARACTER SET utf8;

通过(例如)发出 SET CHARACTER SET utf8 命令,确保您的客户端也使用 UTF8 与服务器连接。

另请参阅:

关于mysql - 如何解码mysql中错误编码的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5062746/

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