我正在使用具有MySQL数据库的rails应用程序。它是一个拥有国际受众的Web应用程序。经过几天的工作,我注意到所有的表和数据库本身都有latin1_sweedish_ci作为整理。后来,在文本字段中,我发现了这样的混乱:
It’s educational and
显然这是由于错误的字符集。如果它是UTF-8,那就不会发生。但是,这已经发生了,我们可以将这个损坏的数据恢复/转换为utf吗?
答案 0 :(得分:1)
您可以尝试mysqldump数据库,通过iconv传递转储,然后重新加载。
答案 1 :(得分:0)
您还可以尝试将所有列转换为二进制,然后转换为UTF-8。有关详细信息,请参阅mysqlperformanceblog.com和dev.mysql.com。
答案 2 :(得分:0)
你也可以尝试这个...首先备份你的数据库...然后制作一个脚本,逐个获取记录并执行utf8_decode然后再将它存储在数据库中...但在此之前更改charchter设置为utf8 ...