如何将latin1表格转换为带序列化值的utf8?

时间:2017-06-15 08:30:17

标签: php mysql utf-8 character iso-8859-1

我必须将一些巨大的表格(> 60 GB)从latin1转换为utf8,我正在寻找最佳实践。一个问题是某些表包含序列化的php对象。

我的第一种方法是将TEXT列设置为BLOB,将字符集转换为utf8并将列转换回TEXT,但是我在最后一步遇到了一些问题(错误的字符串值:'\ xE4 \ xF6 \ xFC \ XDF“; ...')

将值正确转换为utf8的最佳策略是什么?

1 个答案:

答案 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;只有一张桌子。