/source-charset(设置源字符集)

使用此选项可以为可执行文件指定源字符集。

语法

/source-charset:[IANA_name | .CPID]

自变量

IANA_name
IANA 定义的字符集名称。

.CPID
代码页标识符为十进制数字,前面有一个 . 字符。

注解

在源文件包含基本源字符集中未表示的字符时,可以使用 /source-charset 选项指定要使用的扩展源字符集。 源字符集是用于解释程序源文本的编码。 它转换为编译前用作预处理阶段输入的内部表示形式。 然后,内部表示形式将转换为执行字符集,以在可执行文件中存储字符串和字符值。 可以使用 IANA 或 ISO 字符集名称,也可以使用点 (.),后跟指定要使用的字符集代码页标识符的 3-5 小数位数。 有关受支持的代码页标识符和字符集名称的列表,请参阅代码页标识符

默认情况下,Visual Studio 会检测字节顺序标记,以确定源文件是否采用编码的 Unicode 格式,例如 UTF-16 或 UTF-8。 如果未找到字节顺序标记,则假定源文件在当前用户代码页中编码,除非使用 /source-charset/utf-8 选项指定字符集名称或代码页。 Visual Studio 允许将 C++ 源代码保存在任意几个字符编码中。 有关源字符集和执行字符集的详细信息,请参阅语言文档中的字符集

提供的源字符集必须将 7 位 ASCII 字符映射到字符集中的相同代码点,否则可能会发生许多编译错误。 源字符集还必须具有到 UTF-8 的扩展 Unicode 字符集的映射。 UTF-8 中没有等效项的字符由特定于实现的替换项表示。 Microsoft 编译器对这些字符使用问号。

如果要同时将源字符集和执行字符集设置为 UTF-8,可以使用 /utf-8 编译器选项作为快捷方式。 它等效于命令行上的 /source-charset:utf-8 /execution-charset:utf-8。 这些选项中的任意选项都默认启用 /validate-charset 选项。

在 Visual Studio 开发环境中设置此编译器选项

  1. 打开项目的“属性页”对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“C/C++”>“命令行”属性页

  3. 在“其他选项”中,添加 /source-charset 选项并指定首选编码。

  4. 选择“确定”以保存更改 。

另请参阅

MSVC 编译器选项
MSVC 编译器命令行语法
/execution-charset(设置执行字符集)
/utf-8(将源和执行字符集设置为 UTF-8)
/validate-charset(验证兼容的字符)