У меня проблема с кодированием при переносе данных из базы данных PostgreSQL в базу данных MySQL с помощью мастера миграции MySQL Workbench на Windows.
PostgreSQL версии 12
MySQL - версия 8 Моя Windows - WIndows Семь
Моя исходная база данных находится в postgreSQL, в UTF8 кодируется с помощью 'COLLATION: C "и ТИПА ХАРАКТЕРА: C" .
MySQL параметры по умолчанию для кодирования в файле параметров:
сервер набора символов: utf8
сервер сопоставления: utf8mb4_0900_ai_ci default_collation_for_utf8mb4: utf8mb4_0900_ai_ci
У меня нет проблем с go через процесс мастера миграции (соединения с БД, извлечение и повторное создание схемы и т. д. c ...). Но при выполнении импорта я всегда получаю одно и то же сообщение об ошибке, как только импорт пересекает данные VARCHAR с "é" (или "à" или "è"):
Ошибка выполнения оператора: неверное строковое значение: '\ xE9' для столбца 'xxxx' в строке y:
Я проверил "Драйвер отправляет данные alr тем не менее, при настройке передачи данных кодируется как UTF-8.
Я также пытался указать "ClientCharset = UTF -8 "в дополнительных параметрах исходного соединения дБ в мастере => не влияет.
Я не понимаю, почему é
Символ не читается правильно, так как обе стороны должны читать UTF-8.
Тогда, в основном, если я go через мою исходную базу данных и сделаю обновление, чтобы заменить все é
на e
(и à
на a
и так далее ...), импорт успешен. Это легко, поскольку я работаю над небольшой тестовой БД, но не может быть долгосрочным решением для использования с производственной базой данных.
У кого-нибудь есть подсказка?