Шаг 1:
Данные извлекаются корректно с помощью Tap-mssql (база данных имеет параметры сортировки SQL_Latin1_General_CP1_CI_AS), Meltano отображает записи в консоли, например:
Код: Выделить всё
Message: { ....., Text: "Ему подушки поправлять, \\nПечально подносить лекарство", Text2: "मेरे चाचा सबसे ईमानदार नियम" ...}
Шаг 2:
Когда Meltano пытается записать его в цель (например, target-jsonl, target -csv, любой...) начинаются проблемы.
Я действительно перепробовал все возможные преобразования, но не могу это исправить.
Код: Выделить всё
# tried combining all different encodings
str(record['Text']).encode('utf8').decode('utf8')
Я всегда получаю что-то вроде:
Код: Выделить всё
"UnicodeEncodeError: 'utf-8' codec can't encode character '\\udc8f' in position 20: surrogates not allowed"
Я правда не понимаю, почему это такой кошмар? Я читаю UTF8 и передаю эти строки. Почему это происходит?
Подробнее здесь: https://stackoverflow.com/questions/790 ... f-encoding