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
определено.