我有一个 latin1 表,其中长时间填充了不同的编码数据,因此它包含很多损坏的字符。我试图解决这个问题以及如何在 Latin1 编码列中检测 UTF-8 字符 - MySQL非常有帮助,尤其是以下代码
SELECT CONVERT(CONVERT(name USING BINARY) USING latin1) AS latin1, CONVERT(CONVERT(name USING BINARY) USING utf8) AS utf8 FROM users WHERE CONVERT(name USING BINARY) RLIKE CONCAT('[', UNHEX('80'), '-', UNHEX('FF'), ']')
但这并不能解决所有问题。使用该命令将显示为“ä”的 ä 字符转换回 ä,但我也有一些 ä 字符显示为“„”,因此似乎使用了不同的编码格式,但我不知道是哪个所以我可以恢复它。我尝试了 mysql 服务器上可用的字符集,但没有正确的结果。以前有没有人遇到过这个问题并且可以指出正确的字符集?