Невозможно отобразить символы кириллицы в проклятиях - PullRequest
0 голосов
/ 27 марта 2012

Я решил использовать cp866, чтобы избежать кошмара Unicode 65001 (ошибки, исправления и т. Д., Пожалуйста), поэтому каждая выходная строка в моей программе кодируется в cp866

# coding=utf-8
print 'Кабздец'.decode('utf-8').encode('cp866')

этой строкивыведите правильную строку в консоль Windows, конечно, если я установил chcp 866 до запуска моего скрипта.

Однако я не могу создавать проклятия для отображения в той же кодировке.

stdscr.addstr("Кабздец".decode('utf-8').encode('cp866')) 

Этобудет выводить мусор.Проклятье док говорит, что я должен установить язык.Поэтому я попытался использовать

locale.setlocale(locale.LC_ALL, '')

Это немного изменилось и все еще мусор, я полагаю, потому что моя локаль - CP1251.locale.getpreferredencoding() возвращает cp1251.

Вопрос заключается в том, как создавать проклятия для правильного кодирования строк.

Я также пытался

locale.setlocale(locale.LC_ALL, 'rus')

, который будет просто отображать разныесимволы, не правильные.

1 Ответ

0 голосов
/ 27 марта 2012

Вы уже пытались поиграться с атрибутом altcharacterset при вызове addstr?

...