发布于 2016-04-30 03:59:14
我们假设数据库表设置为拉丁文-1。
1-将数据导出为拉丁文-1.,因为MySQL知道表已经使用拉丁文-1编码,它将直接导出数据,而不试图将数据转换为另一个字符集。如果您试图作为UTF-8导出,MySQL似乎试图将(据称)拉丁文-1数据转换为UTF-8,从而产生双重编码字符(因为数据实际上已经是UTF-8)。
2-将导出的数据文件中的字符集从“latin1”更改为“utf8 8”。由于转储数据在导出过程中没有转换,所以它实际上是UTF-8编码的数据。
3-将新表创建为UTF-8,如果您的CREATE命令位于SQL文件中,则将字符集从“latin1”更改为“UTF 8”。
4-正常导入数据。由于转储文件中有UTF-8编码数据,转储文件中声明的字符集现在是UTF-8,而您要导入的表是UTF-8,一切都会顺利进行。
https://stackoverflow.com/questions/36950406
复制相似问题