hzc989
(Hzc989)
4
我把表结构直接贴出来文本吧:
*************************** 1. row ***************************
Table: game_character
Create Table: CREATE TABLE `game_character` (
`_id` bigint(20) unsigned NOT NULL,
`uid` bigint(20) unsigned NOT NULL,
`gid` bigint(20) unsigned NOT NULL,
`gtype` int(10) unsigned NOT NULL,
`name` varchar(32) NOT NULL,
`tCreate` bigint(20) NOT NULL DEFAULT '0',
`in_use` tinyint(1) NOT NULL DEFAULT '1',
`tDelete` bigint(20) unsigned NOT NULL DEFAULT '0',
UNIQUE KEY `uni_gid_gtype_name` (`gid`,`gtype`,`name`),
KEY `uid_gid` (`uid`,`gid`),
KEY `_id` (`_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
db_user
(Db User)
5
稍等,我稍后测试下,可能会比较晚,今天公司事情比较多,请问你这是正式环境么,你这比较紧急么,另外可以把你那条insert粘贴出来么,最好还有dm的配置,我这看看是否能复现,把敏感的信息剔除掉
hzc989
(Hzc989)
6
不急的,不是正式环境,就是在做一些数据迁移
补充下背景:
dm 迁移的时候没有配置跳过utf8 check, 附图上的全程测试也没有设置这个 utf8 check 跳过
tidb_skip_utf8_check
db_user
(Db User)
8
抱歉这么晚才回复,我这做了下测试是可以成功的,可以把任务的配置文件发下么,把ip之类的敏感信息去掉
hzc989
(Hzc989)
9
感谢支持~~
今天发现原来不是 emoji 的问题,是我们导入这些数据里面,有几个无法识别的 utf8 coding:
\ufffd
,具体来说就是这个� ,导致触发了 tidb 的 utf8 check,其实并非不支持 emoji
官方排错文档有说:https://docs.pingcap.com/tidb/stable/tidb-troubleshooting-map#62-data-migration
另外参考一篇 blog 也有提到:https://izualzhy.cn/interesting-encode,\ufffd
这个非常常见,是无法转换的时候就会转成这个编码的。
目前的疑点就剩一个:在 shell 里面直接执行 INSERT SQL Query,是可以成功的,没有触发检查。
system
(system)
关闭
10
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。