python Вывод кириллицы в консоль
От: enji  
Дата: 03.10.11 05:56
Оценка:
Есть программа (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...

Как правильно исправить эту строчку?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.