我的目标是创建一个std::vector<std::string>
带有波斯语名称的名称。但是一旦我编译这个我得到这个错误:
这似乎是一个 unicode 问题。任何建议如何解决这个问题?
Microsoft 的 Visual C++ 编译器确实支持 Unicode 源代码文件。具体来说,它接受UTF-8(需要字节顺序标记)或UTF-16:
源代码文件
现在,标识符、宏、字符串和字符文字以及注释中都支持 Unicode 字符。现在还支持通用字符名称。
Unicode 可以按以下编码输入到源代码文件中:
带或不带字节顺序标记 (BOM) 的 UTF-16 little endian
带或不带 BOM 的 UTF-16 大端
带有 BOM 的 UTF-8
请特别注意,对于 UTF-8,字节顺序标记是必需的。屏幕截图中的对话框是 Visual Studio 编辑器检测到您输入了非 ASCII 字符并询问您是否要将源代码文件转换为 UTF-8 或 UTF-16(不确定默认值是什么,但我d 猜测 UTF-8)。如果单击“是”,它将使用 UTF-8 字节顺序标记 (BOM) 保存文件,并且一切正常。