我用作源数据库的postgresql示例使用utf-8编码和cp1252字符集/排序规则。我正在尝试对目标数据库使用utf8mb4/utfmb4\u unicode\u 520\u ci字符集/排序规则。我将所有相关的服务器/客户机字符集参数设置为utf8mb4/utfmb4\u unicode\u 520\u ci,以确保正确读取数据。尽管如此,我还是发现了大量类似这样的错误:
04:04:25 [INF][ copytable]: Statement execution failed: Incorrect string value: '\x92Angel...' for column 'user' at row 1:
...
04:04:21 [INF][ copytable]: Statement execution failed: Incorrect string value: '\xE1cs' for column 'lname' at row 1:
...
04:04:17 [INF][ copytable]: Statement execution failed: Incorrect string value: '\x85' for column 'user' at row 1:
...etc
我用于配置目标字符集/排序规则的字符串如下:
preInit=SET default_storage_engine=InnoDB,character_set_connection=utf8mb4,collation_connection=utf8mb4_unicode_520_ci,collation_server=utf8mb4_unicode_520_ci,character_set_server=utf8mb4
如何消除这些错误,或者至少忽略它们,这样它们就不会停止复制整个表的其余部分?在这一点上,我甚至不在乎数据是否100%准确,我只想让它工作。
我已经尝试了我在这里读到的所有东西,但这不是骰子。任何帮助都将不胜感激。
1条答案
按热度按时间vmjh9lq91#
这些代码看起来像cp1252,而不是utf8。如果这是postgres数据的典型情况,那么您应该声明cp1252是源的编码(aka charset)。