2015-08-07 4 views
-1

Я занимаюсь геополитикой python, и я пробовал основные команды, приведенные в документации. Но я получаю UnicodeEncodeError при попытке команды raw (для Geolocate запрос на адрес и координаты)Python UnicodeEncodeError: кодек «charmap» не может кодироваться при использовании GEOPY

print(location.raw) 

Ошибка UnicodeEncodeError: 'charmap' codec can't encode character '\xa9' in position 83: character maps to <undefined>

Тогда я попробовал другой путь вокруг (чтобы найти адрес, соответствующий к набору координат)

print(location.address)  

Я получаю ту же ошибку UnicodeEncodeError: 'charmap' codec can't encode character '\u0101' in position 10: character maps to <undefined>

Я попытался print((location.address).encode("utf-8")), теперь я не получаю сообщение об ошибке, но выход Печатаемая как этот b'NH39, Mirz\xc4\x81pur

и при использовании print((location.raw).encode("utf-8")) я получаю ошибку

AttributeError: 'dict' object has no attribute 'encode' 

Может кто-нибудь сказать мне, что здесь происходит и что я должен сделать, чтобы получить правильный результат?

Edit: (После того, как отмечается в двух экземплярах)

Based on the solution given in this problem I am reporting on how it does not solve my problem

То, что я хотел бы знать, почему я получаю UnicodeEncodeError при опробовании основных кодировок примеры, приведенные в документации, и это было ответьте на это.

Если я хочу использовать это приложение, как решить проблему, и я не могу запустить приложение на отдельной IDE или отправить вывод во внешний файл, так как мое приложение будет функционировать на основе результатов геофизики, я хочу приложение для запуска в терминале, как это делают другие мои приложения.

+0

Какая версия python это? и какие os? –

+0

@AnandSKumar Python 3.4 и Windows 7 –

+0

Тот, кто его снова открыл: в исходном вопросе есть ** два ** ответа и ['win_unicode_console' исправляет *' UnicodeEncodeError: кодек charmap не может закодировать' *] (http: //stackoverflow.com/a/30551552/4279) – jfs

ответ

1

Проблема заключается в том, что ваша консоль не настроена правильно отображать символы юникода, которые вы пытаетесь распечатать.

В Windows 7 для Python 3.3 + вы можете изменить кодовую страницу консоли python на 65001, чтобы она отображала символы Unicode. В конце работы терминала -

chcp 65001 

Перед запуском python/ваш скрипт.

+0

Если я хотел бы использовать его в приложении, то как я могу это сделать? –

+0

Если вы выполняете 'chcp 65001' один раз, вы должны быть добры, чтобы идти сколько угодно раз, когда приложение запускается в этой конкретной командной строке. В противном случае вы просите постоянного решения изменить кодовую страницу? –

+0

Да что-то в этом роде. Есть ли способ сделать это автоматически до запуска этого конкретного скрипта? –

Смежные вопросы