Здравствуйте, enji, Вы писали:
E>Есть программа (scons-2.1), которая падает на строке
E>E>sys.stdout.write(unicode(text))
E>
E>если text содержит кириллицу (UnicodeError). Win7, python26
E>Я попытался поправить:
E>E>try:
E> utext = unicode(text)
E>except UnicodeError:
E> utext = unicode(text, 'cp1251', 'replace')
E>sys.stdout.write(utext)
E>
.......
В каком месте-то падает, и с каким traceback'ом? Сдается мне, что не на моменте unicode(text), а на моменте sys.stdout.write(unicoded_text). Потому что в sys.stdout нужно байты писать, а не символы — и оно пытается привести unicode'ный string к обычному string'у. И наверняка умолчальной кодировкой ANSI.
В общем, нужен traceback.