Есть программа (scons-2.1), которая падает на строке
sys.stdout.write(unicode(text))
если text содержит кириллицу (UnicodeError). Win7, python26
Я попытался поправить:
try:
utext = unicode(text)
except UnicodeError:
utext = unicode(text, 'cp1251', 'replace')
sys.stdout.write(utext)
Все равно падает. Попробовал вот так:
try:
utext = unicode(text)
except UnicodeError:
utext = unicode(text, 'cp1251', 'replace')
try:
sys.stdout.write(utext)
except UnicodeError:
try:
if utext[-1] == '\n':
utext = utext[:-1]
print utext
except UnicodeError:
sys.stdout.write('ERROR: cant display some text...')
Так работает из консоли винды (непонятно почему кстати, чем print отличается от sys.stdout.write? ), однако если вызывать из консоли eclipse, выдает ERROR: cant display some text...
Как правильно исправить эту строчку?