Russian Qt Forum
Сентябрь 29, 2024, 02:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qstring.startsWith("АБ")... кириллица из файла не ищется  (Прочитано 3439 раз)
rogovogor
Гость
« : Февраль 19, 2013, 16:17 »

Добрый день!
Проблема в простом проверочном коде коде...:

Код:
ui->setupUi(this);
    QFile file_xl("c:/test.txt");
file_xl.open(QFile::ReadOnly);
    
    QTextStream in_xl(&file_xl);
    in_xl.setCodec("UTF-8");


    QString str=in_xl.readAll();
    bool ba=0;
    bool ge=1;
    ba=str.startsWith("БА");
    ge=str.startsWith("ГЕ");

    if(ba==1){
    ui->label->setText("YAhooo!!!");
    }
    if(ge==0){
    ui->label_2->setText("Nooooo!!!");
    }

Ищу строку начинающуюся с "БА" и в файле она есть (она одна и там написано "БАНАН"), но поиск не удачен... почему?
« Последнее редактирование: Февраль 19, 2013, 16:50 от rogovogor » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #1 : Февраль 19, 2013, 16:33 »

наверное кодировка твоего исходника cp1251, а не UTF-8
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Bepec
Гость
« Ответ #2 : Февраль 19, 2013, 16:59 »

Ага. Именно поэтому ТСсу надо использовать tr("").
Записан
rogovogor
Гость
« Ответ #3 : Февраль 19, 2013, 17:12 »

Переконвертировал исходники в UTF-8, не помогло, а помогло только   
   
Код:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
в мейне мложет кто обьяснит причину такого?
Записан
rogovogor
Гость
« Ответ #4 : Февраль 19, 2013, 17:14 »

А с tr(""), но без изменения мейна тоже не фунциклирует...
Записан
carrygun
Гость
« Ответ #5 : Февраль 19, 2013, 17:25 »

Код
C++ (Qt)
#include <QDebug>
qDebug() << str;
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.085 секунд. Запросов: 23.