Как скомпилировать исходный текст UTF-8 без BOM в Visual Studio?

Исходный код проекта хранится в формате UTF-8 без BOM. При сборке проекта в Visual Studio возникает проблема отображения символов UTF, будто другая кодировка. При сохранении файлов исходного кода в формате UTF-8 с BOM, проблема отображения символов пропадает.
Необходимо хранить исходный код в формате без BOM, как же заставить cl.exe воспринимать UTF-8 без BOM как юникодовские?
  • Вопрос задан
  • 3752 просмотра
Решения вопроса 1
@to_climb
Философский ответ от КО: хранить локализуемые ресурсы отдельно от кода (в rc-файлах или чём-то подобном). Мелочь (отдельные символы) задавать через escape-последовательности.
Останется проблема с комментариями (будет абракадабра), но собираться всё должно правильно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
froex
@froex Автор вопроса
По официальной документации сейчас поддерживается три формата файлов исходного кода: utf16 bom, utf16 w/o bom, utf8 bom.
К сожалению, utf8 w/o bom не поддерживается.
Для себя я нашёл несколько костыльных решений:
- Делать pre build скрипт для конвертации файлов в utf8 bom и post build script для конвертации файлов в utf8 w/o bom
- Сделать автоматическое преобразование файла как utf8 в visual studio. Если используется система контроля версий (как у меня, например), то делать pre-commit hook для преобразования в utf8 w/o bom
Есть ли ещё мнения в продолжение?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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