2015-06-21 35 views
1

我有以下代碼:視覺工作室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) 
    { 
     return false; 
    } 

    if (uSearchIn.find(uSearchFor)!=wstring::npos) 
     return true; 
    else 
     return false; 
} 

當我檢查過的wstring的功能「有」,該wstring的是從我進入不同:

uSearchIn = L 「aeiouäöüúéáÃèùò」

是否有人看到了什麼錯誤嗎?

+1

看起來像一個字符編碼不匹配。 – Philipp

+0

@Philipp你能解釋一下嗎? – tmighty

+1

某處字符串被解釋爲錯誤的字符編碼。 – Philipp

回答

0

我明白了!

我改變.cpp文件的編碼爲 「UTF-8(無簽名)」

我現在已經切換到 「UTF-8(與簽名)」。

現在它按預期工作。

+0

你可能也可以在某處使用某個選項來完成它。我希望Windows能夠與時俱進,並默認開始使用UTF-8。 –