Принуждение VS2010 к использованию UTF-8 без подписи

Есть ли способ заставить Visual Studio автоматически сохранять (и создавать) файлы с использованием UTF-8 без подписи?

Вот почему я спрашиваю, когда я использую VS для применения XSLT, он автоматически сохраняет файлы и включает ужасную спецификацию. В этом нет ничего страшного, но поскольку я генерирую XHTML, он выдает мне предупреждение каждый раз, когда один из этих файлов попадает в валидатор.


person Luiz Borges    schedule 19.12.2011    source источник
comment
возможный дубликат utf-8 без спецификации в Visual Studio 2010   -  person CharlesB    schedule 20.12.2011
comment
Также возможен дубликат Force Visual Studio (2010) сохранить все файлы в кодировке UTF-8   -  person Matt Sach    schedule 17.07.2012


Ответы (1)


Я так не думаю. см. комментарии для исправления.

Кроме того, компиляторы Microsoft, по крайней мере, cl.exe, неправильно обрабатывают файлы UTF-8 без подписи UTF-8. Например, в файлах, сохраненных как UTF-8 без подписи, если у вас есть строковый литерал или широкий строковый литерал, который содержит символы выше U+007F, эти символы будут преобразованы в кодировку исполнения или расширенного исполнения, ошибочно предполагая, что источник кодировка - это кодовая страница ansi, установленная для программ, не поддерживающих Unicode. То есть, хотя проект Visual Studio знает, что кодировка — UTF-8, и может правильно ее отобразить, компилятор будет рассматривать ее как что-то другое.

person bames53    schedule 21.12.2011
comment
Спасибо за разъяснение, на самом деле вы можете внести изменения, о которых я просил, на основе этого ответа stackoverflow.com/questions/5406172/, но только в VS2010 (не в Visual Express). Кроме того, поскольку я работаю не только с английским, но и с другими языками, у меня могут возникнуть проблемы с кодировкой, поэтому пока оставляю все как есть. - person Luiz Borges; 21.12.2011
comment
К вашему сведению, вот отчет об ошибке использования файлов в кодировке UTF-8 без спецификации: connect.microsoft.com/VisualStudio/feedback/details/888437/ . Как обычно, разрешение MS: не исправит. - person rutsky; 17.07.2014