一年前,我们将数据迁移到 MySQL。由于编码不匹配,许多奇怪的字符(Ã、ª、€ 等)被插入到记录中。我们想跟踪整个数据库中的所有这些字符。
我尝试了以下查询。
select * from <table_name> where <field_name> regexp '[^a-zA-Z0-9&,$\'"() .-]'
它给了我除了 az、AZ、0-9、&、逗号、美元、单引号、双引号、括号、空格、句点、连字符之外的所有<field_name>
条目.
但是要找到所有奇怪的字符需要很长时间,因为我们有大约 93 个表,每个表大约有 20 个字段。
有没有更好的方法来解决这个问题?
使用正确的编码设置再次重新导入不是一种选择,因为从那时起数据已经发生了很大变化。