Ответ 1
Если вы просто нажмете bytestring на unicode, например
print unicode(s)
или смешайте unicode и bytestrings в операциях форматирования строк, подобных вашему примеру, Python вернется к системному кодированию по умолчанию (которое равно ascii
, если оно не было изменено), и неявно будет пытаться кодировать unicode/decode bytestring, используя ascii
кодек.
В настоящее время активная системная кодировка по умолчанию может отображаться с помощью
import sys
sys.getdefaultencoding()
Теперь кажется, что Aptana Studio на самом деле беспорядок с вашими интерпретаторами по умолчанию:
Из сообщение в блоге Микко Охтамаа:
[...] Похоже, что финалистом был PyDev (плагин Eclipse Python). мешающий исходный код здесь. Похоже, причина заключалась в сотрудничестве с консолью Eclipse. Однако это было сделано неправильно. Вместо настройки консольной кодировки, кодировка установлена на всю среду исполнения Python, запуская целевое время выполнения, в котором выполняется разработка.
Существует возможное решение этой проблемы. В диалоговом окне Eclipse Run... вы можете выбрать Консольное кодирование на вкладке Обычная. Там является возможным значением US-ASCII. Я не уверен, что думает Python 2 "US-ASCII", поскольку по умолчанию " ascii".
Итак, убедитесь, что вы reset по умолчанию ascii
, и вы должны быть хорошими.