Вот вопрос, который меня долго удивлял. Я использую bbedit для редактирования кода Python. Запуск кода из редактора, насколько я понимаю, порождает собственный процесс python, запускает код и записывает вывод в файл журнала. Так что bbedit не знает о переменных окружения и тому подобное. Если я попробую это в командной строке в терминале:
>>> s = 'háček'
>>> print s
háček
найди и хорошо. Но если у меня есть следующий файл в bbedit:
#!/opt/local/bin/python
# -*- coding: utf-8 -*- #
s = u'háček'
print s
и попробуйте запустить его из редактора, который я получаю:
UnicodeEncodeError: кодек «ascii» не может кодировать символы в позиции 1-2: порядковый номер не в диапазоне (128)
поэтому я должен сделать это:
print s.encode('utf-8')
Может кто-нибудь, знакомый с bbedit, подсказать мне, что здесь происходит? Есть ли способ рассказать редактору, как вести себя при наличии символов Юникода?
Спасибо,
Jon