没有贴你的具体操作,不知道你是怎么修改该字段编码的,如果是用 ALTER TABLE
重设了某个字段的 CHARSET,譬如下面这样:
ALTER TABLE `table` CHANGE `column` VARCHAR(255) CHARACTER SET latin1;
然后再把它改回 utf8,那数据肯定是丢失了(这是因为不同编码之间转换时,如果遇到转换失败的字节,会使用类似 ? 或 � 来代替,这样你再转换回去的时候,就不是原来的字节了)
如果只是使用 SET NAMES latin1
改变了数据库编码 或者 修改了编码相关的常量(如:character_set_results
),这个时候虽然你查询出来也可能是乱码,但是可以通过 SET NAMES utf8
恢复回来。
4 回答1.2k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答1k 阅读✓ 已解决
2 回答1.7k 阅读
1 回答845 阅读✓ 已解决
2 回答1.2k 阅读
2 回答1k 阅读
旧数据弄好,基本没有。如果打开了日志 可以看一下日志里面的是不是正常的 是正常的就导入一下。没开就凉凉