Автор Тема: Кодировка в окне отладки  (Прочитано 1695 раз)

uamaks

  • Newbie
  • *
  • Сообщений: 4
Кодировка в окне отладки
« : Февраля 11, 2016, 04:12:22 »
Подскажите, может кто сталкивался, как решить такую проблему:
В окне редактора с кодировкой все работает нормально - utf-8 и кирилица отбражается нормально.
А вот когда запускаешь код на выполнение(Python) - в окне отладки кодировка не работает. Где можно посмотреть настройки именно для отладки?

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 605
Re: Кодировка в окне отладки
« Ответ #1 : Февраля 11, 2016, 11:50:24 »
Что именно не работает? Юникод не отображается корректно или ошибка кодирования "UnicodeEncodeError: 'ascii' codec can't encode characters"?

Попробуй добавить в начало файла
# -*- coding:utf-8 -*-
И это
import sys
reload(sys)
sys.setdefaultencoding('utf8')
« Последнее редактирование: Февраля 11, 2016, 11:52:34 от Loac »

uamaks

  • Newbie
  • *
  • Сообщений: 4
Re: Кодировка в окне отладки
« Ответ #2 : Февраля 12, 2016, 03:22:25 »
После замены кодировки на utf-8(в файле пользовательских настроек) в основном окне все нормально. А при выводе результата выдавал именно такую ошибку.(только вместо ascii - utf-8)
Кстати, сегодня обновил до последнего релиза, теперь ошибка не выводится, но и результат вообще не выводится. Видимо выполнение просто останавливается, как только попадается кирилица.
А с сменой кодировки в коде - пока не получается. Ругается на reload.
Но идею я понял - посмотрю. Спасибо!

uamaks

  • Newbie
  • *
  • Сообщений: 4
Re: Кодировка в окне отладки
« Ответ #3 : Февраля 12, 2016, 03:40:19 »
print (sys.getdefaultencoding()) возвращает utf-8, да и в других редакторах отладка работает нормально.
Так что дело не все-таки в Sublime а не в Python...

Loac

  • Administrator
  • Hero Member
  • *
  • Сообщений: 605
Re: Кодировка в окне отладки
« Ответ #4 : Февраля 12, 2016, 10:18:11 »
Можно взглянуть на код? Какая все-таки была ошибка? Какая у тебя ОС?

У меня в окне отладки некорректно отображается юникод только кода он в списках. Простой пример print 'Привет' выведет все нормально.

uamaks

  • Newbie
  • *
  • Сообщений: 4
Re: Кодировка в окне отладки
« Ответ #5 : Марта 08, 2016, 00:06:24 »
Переустановил последнюю сборку(3103). Ошибку перестал выводить, но и текст тоже:
print('Hello!')
print('Привет')

выводит:
Hello!