Есть проект написанный на С++ с использованием буста. Собирается и работает под убунтой.
К проекту был подключен питон второй версии. Т.е. некоторые классы и функции были обернуты для питона, что их потом можно было вызывать из скриптов, которые, в свою очередь, вызывались из C++. Сам проект - это небольшая некоммерческая игра, которая поддерживается чисто из интереса для старых игроков. Движку игры лет так 20. Проблема в том, что в движке используется koi8-r. При переводе на третий питон, появилась проблема с utf8. Когда из скрипта на питоне (который в свою очередь вызывается из плюсов) импортируется модуль, в котором обернуты c++ функции, происходит ошибка UnicodeDecodeError. Полный трейсроут на
пастбин. В самих скриптах кодировка koi8-r указана. Какие есть идеи, как заставить питон принимать от движка все в koi8-r ?
Вопрос второй. Как я понимаю, при переводе проекта на utf8, вместо koi8-r, придется заменять все строковые и символьные типы, на их аналоги в utf8 ? (string -> wstring, char -> wchar)