Mysql latin1到utf8的转换问题

Mysql latin1到utf8的转换问题,mysql,ruby-on-rails,ruby,unicode,iconv,Mysql,Ruby On Rails,Ruby,Unicode,Iconv,我正在转换一个使用latin1编码的mySQL数据库的旧应用程序。为此,我做了一个简单的rake任务和一些类来连接到旧的遗留数据库(MySQL) 我尝试在旧数据库中创建一个重复的表,然后运行 ALTER TABLE legacy_comments CONVERT TO CHARACTER SET utf8; 我已经尝试使用Ruby的string.encode方法从我在这里找到的其他答案。我试过了,但没用 我在database.yml中尝试了各种设置,但都没有成功。不确定下一步要去哪里。您得到

我正在转换一个使用latin1编码的mySQL数据库的旧应用程序。为此,我做了一个简单的rake任务和一些类来连接到旧的遗留数据库(MySQL)

我尝试在旧数据库中创建一个重复的表,然后运行

ALTER TABLE legacy_comments CONVERT TO CHARACTER SET utf8; 
我已经尝试使用Ruby的string.encode方法从我在这里找到的其他答案。我试过了,但没用


我在database.yml中尝试了各种设置,但都没有成功。不确定下一步要去哪里。

您得到的是一个错误解码为Windows-1252的UTF-8字符串。您正在检索的数据是UTF-8,但它看起来像是在记事本中查看的,记事本使用Windows-1252作为美国Windows中的默认编解码器。如何显示字符串?不,抱歉,不是这样。将其显示为utf8输出到浏览器(使用utf8编码的html5的ya)、终端等。经过今天的大量工作,我确定手动编辑数百条神秘存在此问题的记录更容易。谢天谢地,在5万份记录中,只有几百份记录有这些“腐败”。我觉得很傻,所以我不得不这样做,这样就把问题留着,以防有人知道一些事情,也许其他人就不必像我那样做了:-\
"What he didn’t expect"
ALTER TABLE legacy_comments CONVERT TO CHARACTER SET utf8;