Задать вопрос
@bodrich

Как сделать, чтобы третий питон использовал ko8-r кодировку в проекте С++?

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

Вопросы заданы бестолково...
Этот вопрос относится, как я предполагаю, к C++ части?
Если да, то ответ однозначно: нет, не придётся заменить все "строковые и символьные типы" .
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы