/source-charset
(Задать исходный набор символов)
Этот параметр позволяет указать исходный набор символов для исполняемого файла.
Синтаксис
/source-charset:
[IANA_name
|.CPID
]
Аргументы
IANA_name
Имя набора символов, определяемого IANA.
.CPID
Идентификатор кодовой страницы в виде десятичного числа, предшествующий символу .
.
Замечания
Можно использовать /source-charset
параметр, чтобы указать расширенный исходный набор символов, используемый, если исходные файлы включают символы, которые не представлены в базовом исходном наборе символов. Исходный набор символов — это кодировка, используемая для интерпретации исходного текста программы. Он преобразуется в внутреннее представление, используемое в качестве входных данных на этапы предварительной обработки перед компиляцией. Затем внутреннее представление преобразуется в символ выполнения для хранения строковых и символьных значений в исполняемом файле. Вы можете использовать имя набора символов IANA или ISO, а также точку (.
), за которой следует 3-5 десятичных цифр, которые указывают идентификатор кодовой страницы используемого набора символов. Список поддерживаемых идентификаторов кодовой страницы и имен наборов символов см. в разделе "Идентификаторы кодовой страницы".
По умолчанию Visual Studio обнаруживает метку порядка байтов, чтобы определить, находится ли исходный файл в формате Юникода, например UTF-16 или UTF-8. Если метка порядка байтов не найдена, предполагается, что исходный файл кодируется на текущей пользовательской кодовой странице, если только вы не используете или не используете /source-charset
/utf-8
параметр для указания имени набора символов или кодовой страницы. Visual Studio позволяет сохранять исходный код C++ в любом из нескольких кодировк символов. Дополнительные сведения о наборах символов источника и выполнения см. в документации по языку.
Исходный набор символов, который вы предоставляете, должен сопоставить 7-разрядные символы ASCII с теми же точками кода в наборе символов, или многие ошибки компиляции, скорее всего, будут следовать. Исходный набор символов также должен иметь сопоставление с расширенным набором символов Юникода UTF-8. Символы, которые не имеют эквивалента в UTF-8, представлены заменой для конкретной реализации. Компилятор Майкрософт использует вопросительный знак для этих символов.
Если вы хотите задать как исходный набор символов, так и символ выполнения, равный UTF-8, можно использовать /utf-8
параметр компилятора в качестве ярлыка. Это эквивалентно /source-charset:utf-8 /execution-charset:utf-8
командной строке. Любой из этих параметров также включает /validate-charset
параметр по умолчанию.
Установка данного параметра компилятора в среде разработки Visual Studio
Откройте диалоговое окно "Страницы свойств" для проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.
В разделе "Дополнительные параметры" добавьте этот параметр и укажите
/source-charset
предпочитаемую кодировку.Нажмите ОК, чтобы сохранить внесенные изменения.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC
/execution-charset
(Задать набор символов выполнения)
/utf-8
(Задайте для наборов исходных и выполняемых символов значение UTF-8)
/validate-charset
(Проверка совместимых символов)