我的win32代码中有一些UNICODE文本。 我宣布它是这样的......
std::wstring a = Träna; //swedish for practice
我使用类似......
之类的东西将该值复制到变量中std::wstring b = a;
调试时我看不出我应该在b
中得到什么。
我应该在Träna
中获得 b
,但我得到的是 Träna
这仅在Windows上观察到,程序在OS X上运行良好。
我确定这是一个新手的错误,我在这里失踪了什么?
答案 0 :(得分:1)
正如@SigTerm和@jukka所述,问题在于UTF-8编码。
将cpp文件保存在< Unicode UTF-8 with signature >问题解决了。 该文件之前保存在< Unicode UTF-8无签名>中。 这不是前缀L的问题,我已经定义了我的变量。