Обработка кодирования мелтаноPython

Программы на Python
Anonymous
Обработка кодирования мелтано

Сообщение Anonymous »

В настоящее время я дергаю волосы, пытаясь заставить Meltano правильно записать мои данные в цель.
Шаг 1:
Данные извлекаются корректно с помощью Tap-mssql (база данных имеет параметры сортировки SQL_Latin1_General_CP1_CI_AS), Meltano отображает записи в консоли, например:

Код: Выделить всё

Message: { ....., Text: "Ему подушки поправлять, \\nПечально подносить лекарство", Text2: "मेरे चाचा सबसे ईमानदार नियम" ...}
Пока все хорошо, Python правильно обрабатывает UTF8? данные.
Шаг 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

Вернуться в «Python»