/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

  1. Откройте диалоговое окно "Страницы свойств" для проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.

  3. В разделе "Дополнительные параметры" добавьте этот параметр и укажите /source-charset предпочитаемую кодировку.

  4. Нажмите ОК, чтобы сохранить внесенные изменения.

См. также

Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC
/execution-charset (Задать набор символов выполнения)
/utf-8 (Задайте для наборов исходных и выполняемых символов значение UTF-8)
/validate-charset (Проверка совместимых символов)