我必须将一些巨大的表格(> 60 GB)从latin1转换为utf8,我正在寻找最佳实践。一个问题是某些表包含序列化的php对象。
我的第一种方法是将TEXT列设置为BLOB,将字符集转换为utf8并将列转换回TEXT,但是我在最后一步遇到了一些问题(错误的字符串值:'\ xE4 \ xF6 \ xFC \ XDF“; ...')
将值正确转换为utf8的最佳策略是什么?
答案 0 :(得分:0)
鉴于数据采用latin1编码,例如示例中的äöüß
,和列为CHARACTER SET latin1
,请参阅http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases,表示
ALTER TABLE tbl CONVERT TO CHARACTER SET utf8mb4;
(或utf8)
注意:这将更改一个表中所有文本列的charset;只有一张桌子。