C как язык не облегчает кодирование строк. Строка C - это просто нулевая последовательность символов (8-битные целые числа со знаком в большинстве систем).
Широкая строка (с символами типа wchar_t
, обычно 16-разрядными целыми числами) также может использоваться для хранения больших значений символов; однако, опять же, стандартные функции библиотеки C и типы данных никоим образом не осведомлены о какой-либо концепции строкового кодирования.
Ответ на ваш вопрос - убедиться, что строки, передаваемые вами в Python, кодируются как UTF-8.
Однако, чтобы помочь вам достичь этого в любом подробном качестве, вам нужно будет предоставить больше информации о том, как в настоящее время формируются ваши строки, что они содержат, и как вы строите свой список аргументов для exec.