Я хотел экспортировать результаты определенного запроса в файл и поэтому выдал команду оболочки
mysql -e "SELECT some, thing FROM some_where" -u my_user -p my_database > some_file.sql
Я должен отметить, что таблица и столбцы хранятся в utf8. При попытке перебрать строки по этому коду Python
with codecs.open(PATH_TO_SQL_FILE, 'r', 'utf8') as read_file:
for line in read_file:
print line
Я получаю ошибку:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xf3 in position 1: invalid continuation byte
Если я уберу использование codecs
, сценарий завершится без ошибок, но я получаю в терминале такие вещи, как:
Zolt�n L�szl�
Что мне не хватает? Должен ли я использовать другой кодек? Как определить, какой кодек использовать для декодирования? Все советы приветствуются!
Кстати, если я открою файл some_file.sql
с vi в терминале, каждый диакритический знак будет показан правильно.