У меня есть проект, в котором программа сохраняет некоторые сообщения в файл журнала. В начале моей программы я открываю этот файл, и функции записывают в него текст. Поскольку я бразильский, у нас есть специальные кадастры, такие как ç, ã и другие.C - Странное поведение с fprintf
Проблема у меня в том, что в одном из файлов, у меня есть следующие строки:
fprintf(logfile, "\nArquivo \"Instruções.txt\" criado\n");
и она прекрасно работает. Файл журнала верен.
Еще один файл, одного и тот же проект имеет следующую строку:
fprintf(logfile, "Carregando configurações\n");
и файл_журнал неправилен с «Ã§Ãμ» вместо «со».
Важно заметить, что я не закрывал файл и не открывал его заново, это то же самое от начала до конца, и вторая строка, которую я показал, - это первая команда для записи в файл.
Другое дело, что если я скопирую эту первую строку в файл второй строки, я получаю одинаковые странные символы и ту же проблему, если делаю обратное.
Теперь я не знаю, что происходит. Я пробовал использовать% c и число, соответствующее символам (я использую этот метод при использовании консоли), но получаю ту же проблему.
Большое спасибо!
EDIT: Я не знаю, было ли это ясно, но в том же файле журнала есть как правильные, так и неправильные буквы. Это разные файлы проекта, которые имеют команды.
Просмотр файла журнала как UTF-8. –
Я делаю это, та же проблема –
Вы не. Если это были проблемы с декодированием UTF-8, вы увидите символы замены UNICODE. Вместо этого мы видим, как выглядят 2-байтовые последовательности сдвига UTF-8, если они будут интерпретироваться с помощью одной однобайтовой кодировки. –