用波斯语名称创建矢量。 C ++

时间:2018-04-10 14:45:42

标签: c++ string unicode farsi

我的目标是创建一个带有波斯名字的std::vector<std::string>。但是一旦我编译它,我就会收到这个错误:

enter image description here

这似乎是一个unicode问题。有任何建议如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

Microsoft的Visual C ++编译器does support Unicode source code files。具体而言,它接受UTF-8(需要byte order mark)或UTF-16

  

源代码文件

     

现在,标识符,宏,字符串和字符文字以及注释中都支持Unicode字符。现在也支持通用字符名称。

     

可以使用以下编码将Unicode输入到源代码文件中:

     

带有或不带字节顺序标记(BOM)的UTF-16小端

     

带或不带BOM的UTF-16大端

     

带BOM的UTF-8

特别注意,对于UTF-8,需要字节顺序标记。屏幕截图中的对话框是Visual Studio编辑器,检测到您输入了非ASCII字符,并询问您是否要将源代码文件转换为UTF-8或UTF-16(不确定默认值是什么,但我' d猜UTF-8)。如果单击“是”,它将使用UTF-8字节顺序标记(BOM)保存文件,并且一切都应该正常。