/validate-charset(验证兼容的字符)

此编译器选项验证源文件文本是否仅包含可表示为 UTF-8 的字符。

语法

validate-charset[-]

备注

可以使用 /validate-charset 选项验证源代码是否仅包含可在源字符集和执行字符集中表示的字符。 指定 /source-charset/execution-charset/utf-8 编译器选项时,会自动启用此检查。 若要显式禁用此检查,请指定 /validate-charset- 选项。

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

Visual Studio 在源字符集与执行字符集之间的转换过程中使用 UTF-8 作为内部字符编码。 如果源文件中的字符无法在执行字符集中表示,则 UTF-8 转换将替换问号 (?) 字符。 如果发生替换,则 /validate-charset 选项会使编译器报告警告。

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

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

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

  3. 在“附加选项”中,添加 /validate-charset/validate-charset- 选项。

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

另请参阅

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