QString содержит и специальные символы

У меня есть Qstring который содержит некоторые символы и 'Å',

С помощью MatchString.contains('Å') это возвращает ложь.

В моем понимании этой функции есть какая-то ошибка?

2 ответа

Решение

Возможно, вы получите разные результаты, если ваш исходный файл не сохранен в кодировке UTF-8 или ваша платформа не поддерживает unsigned char типы так явно создают QChar объект, использующий его значение Unicode:

if (MatchString.contains(QChar(0xc5))) {
    ...
}

Когда ты пишешь 'Å' компилятор обрабатывает его как символ ASCII, в то время как Å это символ Юникода. Так что используйте L'Å' вместо. Смотрите здесь для получения дополнительной информации:
http://msdn.microsoft.com/en-us/library/dybsewaf.aspx

Также вы можете использовать _T макрос, который переводит буквенную строку в L-префиксную форму _UNICODE определено.

Другие вопросы по тегам