我用作源数据库的PostgreSQL实例使用UTF-8编码和cp1252字符集/排序规则。我正在尝试在目标数据库上使用utf8mb4 / utfmb4_unicode_520_ci字符集/排序规则。我将所有相关的服务器/客户端字符集参数设置为utf8mb4 / utfmb4_unicode_520_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%准确,我只是希望它能工作。
我已经尝试过在这里阅读的所有内容,而且还没有骰子。任何帮助都将不胜感激。
答案 0 :(得分:0)
这些代码看起来像cp1252,而不是utf8。如果这是postgres数据的典型特征,则应声明cp1252是源的编码(即字符集)。