我正在将具有一堆 latin1 编码列的数据库转换为 utf8。在我迁移整个列之前,有一堆行编码错误,需要从 latin1 -> utf8 转换。我编写了一个脚本,该脚本使用以下查询识别有问题的行:
SELECT count(*) as count
FROM `user_profiles`
WHERE CONVERT(CAST(`last_name` AS binary) USING utf8) IS NULL;
在本地,它返回 4,000 行的计数。当我在生产环境中运行它时,我得到一个带有 4,000 条警告的空结果。必须有一些设置告诉 MySQL 正常返回警告或我缺少的东西。有什么想法吗?
我已经尝试确保所有字符集变量都设置为 UTF8。服务器正在运行 mysql 5.5.29,我在本地运行 5.6.13。