C++ Visual Studio 2013更改我的wstring

C++ Visual Studio 2013更改我的wstring,c++,visual-studio-2013,wstring,C++,Visual Studio 2013,Wstring,我有以下代码: bool IsCharVowel(const wstring uChar) { if (Has(L"aeiouäöüúéáàèùò",uChar)) { return true; } else { return false; } } bool Has(wstring uSearchIn, wstring uSearchFor) { if (uSearchFor.size()==0)

我有以下代码:

bool IsCharVowel(const wstring uChar)
{
    if (Has(L"aeiouäöüúéáàèùò",uChar))
    {
        return true;
    }
    else
    {
        return false;
    }
}

bool Has(wstring uSearchIn, wstring uSearchFor)
{

    if (uSearchFor.size()==0)
    {
        return false;
    }

    if (uSearchIn.find(uSearchFor)!=wstring::npos)
        return true;
    else
        return false;
}
一旦我在函数“Has”中检查通过的wstring,wstring就与我输入的不同:

Usearcin=L“aeiouÃ

有人看到这里出了什么问题吗?

我知道了

我将.cpp文件的编码更改为“UTF-8(无签名)”

我现在把它改成了“UTF-8(带签名)”

现在它可以正常工作了。

我知道了

我将.cpp文件的编码更改为“UTF-8(无签名)”

我现在把它改成了“UTF-8(带签名)”


现在它可以正常工作。

看起来像是字符编码不匹配。@Philipp能解释一下吗?在某个地方字符串被解释为错误的字符编码。看起来像是字符编码不匹配。@Philipp能解释一下吗?在某个地方字符串被解释为错误的字符编码。看起来像是字符编码不匹配。@Philipp你能解释一下吗?在某个地方,字符串被错误的字符编码解释了。你可能也可以在某个地方用一些选项来解释。我真希望Windows能跟上时代的步伐,在默认情况下开始使用UTF-8。也许你也可以在某个地方选择使用UTF-8。我真希望Windows能跟上时代的步伐,在默认情况下开始使用UTF-8。也许你也可以在某个地方选择使用UTF-8。我真希望Windows能跟上时代的步伐,在默认情况下开始使用UTF-8。