MySQL查询条件中文报错

MySQL中使用查询条件是中文时报错:Cannot convert string '\xE5\x88\xB8\xE5\x95\x86...' from utf8mb4 to binary
select * from a where 姓名='张三',单表查询正常,
select * from
(select * from a
union
select * from b) c
where 姓名='张三'就会报错
环境是Win11+mysql8.0.32

这个问题可能是由于MySQL中使用的字符集不一致导致的,比如a表和b表使用的字符集不一致,或者a表和b表使用的字符集不是utf8mb4。可以尝试使用以下语句查看表的字符集:
SHOW TABLE STATUS FROM 数据库名 LIKE '表名';
如果字符集不一致,可以使用以下语句修改字符集:
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4;

报错信息发出来,分析能准确点

select * from a where 姓名='张三',单表查询正常,
select * from b where 姓名='张三',单表查询是否正常?
如果不正常,可以修改b表的字符集