MySQL如何去除垃圾或损坏的字符?

MySQL如何去除垃圾或损坏的字符?,mysql,validation,etl,corrupt-data,Mysql,Validation,Etl,Corrupt Data,MySQL 5.6 第1-3行似乎有一些垃圾字符。第4行是好数据 select id, firstname, length(firstname) len, substring(firstname,1,1) ss1, ascii(substring(firstname,1,1)) a1, substring(firstname,2,1) ss2, ascii(substring(firstname,2,1)) a2, substring(firstname,3,1) ss3, ascii(subs

MySQL 5.6

第1-3行似乎有一些垃圾字符。第4行是好数据

select id, firstname, length(firstname) len,
substring(firstname,1,1) ss1, ascii(substring(firstname,1,1)) a1,
substring(firstname,2,1) ss2, ascii(substring(firstname,2,1)) a2,
substring(firstname,3,1) ss3, ascii(substring(firstname,3,1)) a3,
substring(firstname,4,1) ss4, ascii(substring(firstname,4,1)) a4,
substring(firstname,5,1) ss5, ascii(substring(firstname,5,1)) a5,
substring(firstname,6,1) ss6, ascii(substring(firstname,6,1)) a6,
substring(firstname,7,1) ss7, ascii(substring(firstname,7,1)) a7,
substring(firstname,8,1) ss8, ascii(substring(firstname,8,1)) a8,
substring(firstname,9,1) ss9, ascii(substring(firstname,9,1)) a9
from users
where id in (91788, 91844, 79631, 5351791)
order by id
结果:

奇怪的字符会在ETL过程中导致问题。我怎样才能去掉那些垃圾角色


请注意,第2行表示长度5,但只有前3个字符具有ascii值。这正常吗?

列是什么字符集?字符集名称UTF8您确定列也是这样吗?表和列可以有不同的字符集。数据来自哪里?这看起来像是包含非Unicode字符的Unicode列。可能值得查找问题的根源(如果有)从信息模式中选择字符集名称。
COLUMNS
WHERE table\u name=“users”和column\u name=“firstname”;结果:utf8OK。数据来自哪里?它是否已经在原始表中损坏,或者只是在查询中损坏?