UnicodeDecodeError при использовании кириллицы - PullRequest
3 голосов
/ 24 мая 2011

У меня есть модуль, который содержит только (это только пример. Проблема в гораздо большем модуле):

# -*- coding: utf-8 -*-
"януари"

При исполнении получаю:

File "C:\Program Files\JetBrains\PyCharm 107.130\helpers\pydev\pydevd.py", line 1184, in <module>
    debugger.run(setup['file'], None, None)
  File "C:\Program Files\JetBrains\PyCharm 107.130\helpers\pydev\pydevd.py", line 947, in run
    line = stream.readline() #Should not raise an exception even if there are no more contents
  File "C:\Python32\lib\encodings\cp1250.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x83 in position 31: character maps to <undefined>

Я использую польские Windows XP и Python 3.2. Что я должен изменить, чтобы правильно выполнить этот модуль

Ответы [ 2 ]

5 голосов
/ 24 мая 2011

Этот модуль не проблема, похоже, проблема с PyCharm.Он явно читает ваш файл и предполагает, что это cp1250, даже если он указан как utf-8.Так что это ошибка в PyCharm.

Он должен открыть файл в двоичном виде, прочитать первую строку, чтобы увидеть, имеет ли он кодировку, в противном случае он должен считать его UTF-8.(Хотя на самом деле он должен предполагать, что это ASCII в Python 2, но UTF-8 достаточно хорош).

0 голосов
/ 24 мая 2011

В PyCharm вы можете указать кодировку UTF-8 в Настройках ( CTRL + ALT + S ) |Кодировки файлов.Это должно сработать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...