将字符集从latin2_bin更改为utf8,并回擦除所有以“特殊”字符开头的数据

问题描述

我在表的一列中将字符集从latin2_bin更改为utf8,以解决排序问题。它并没有,而且,当我切换回latin2_bin时,所有记录都有相同的错误

łokacinski -> empty
środek -> empty
ośrodek -> o
czółko -> cz

因此,如果姓氏以特殊字符(抛光字符)开头,则该字符已被完全删除;如果特殊字符在中间,则只有特殊字符之前的字符。 我没想过这么愚蠢的事情会抹掉那么多数据……有人可以帮忙吗?

解决方法

您使用了错误的转换技术。

以下是典型问题的列表,并针对每个http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases

进行了修复

要获取更多帮助,请提供Trouble with UTF-8 characters; what I see is not what I stored中提到的SELECT HEX(col),...

“擦除”听起来像我讨论的“截断”情况。请提供示例。