使用TIDBv6.5的 Data Migration进行全量 + Binlog 实时同步时下游tidb数据库字段有乱码

【 TiDB 使用环境】测试
【 TiDB 版本】v6.5.3
【遇到的问题:问题现象及影响】
使用TIDB的Data Migration进行全量 + Binlog 实时同步,上游为mysql数据库,表的字符集编码为gbk,下游为tidb,字符集编码为utf8mb4。全量同步时发现下游表有乱码问题后,我通过设置mydumpers的character_set_client=utf8mb4,character_set_connection=utf8mb4,character_set_results=utf8mb4这些参数解决了乱码问题。


但是同步任务之后的增量sync阶段,上游产生的数据同步到下游出现了乱码,我查找文档没有发现可以解决乱码问题的配置项。想请教各位在增量sync阶段有什么办法能解决上下游因为字符集编码不一致导致的乱码问题吗?全量dump的时候我加上character_set_connection=utf8mb4下游没有乱码,请问增量同步的时候有类似的参数可以配置吗?

字符集的问题,能不能做个中间库,先把字符集转成utf8mb4,再migrate到tidb

楼上大佬说得对。或者尝试修改下游 TiDB 实例的字符集编码为与上游 数据库一致的编码,不动就没问题了哈

也可能是客户端字符集的问题