Проблемы с символами при попытке перенести базу данных PostgreSQL в базу данных MySQL с помощью MySQL Workbench - PullRequest
0 голосов
/ 06 октября 2018

Экземпляр 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

Строка, которую я использую для конфигурации charset / collation цели, такова:

    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 Ответ

0 голосов
/ 16 октября 2018

Эти коды выглядят как cp1252, а не utf8.Если это типично для данных postgres, то вы должны указать, что cp1252 является кодировкой (также известной как charset) источника.

...