Russian Qt Forum

Qt => Вопросы новичков => Тема начата: rogovogor от Февраль 19, 2013, 16:17



Название: Qstring.startsWith("АБ")... кириллица из файла не ищется
Отправлено: 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!!!");
    }

Ищу строку начинающуюся с "БА" и в файле она есть (она одна и там написано "БАНАН"), но поиск не удачен... почему?


Название: Re: Qstring.startsWith("АБ")... кириллица из файла не ищется
Отправлено: kambala от Февраль 19, 2013, 16:33
наверное кодировка твоего исходника cp1251, а не UTF-8


Название: Re: Qstring.startsWith("АБ")... кириллица из файла не ищется
Отправлено: Bepec от Февраль 19, 2013, 16:59
Ага. Именно поэтому ТСсу надо использовать tr("").


Название: Re: Qstring.startsWith("АБ")... кириллица из файла не ищется
Отправлено: rogovogor от Февраль 19, 2013, 17:12
Переконвертировал исходники в UTF-8, не помогло, а помогло только   
   
Код:
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
в мейне мложет кто обьяснит причину такого?


Название: Re: Qstring.startsWith("АБ")... кириллица из файла не ищется
Отправлено: rogovogor от Февраль 19, 2013, 17:14
А с tr(""), но без изменения мейна тоже не фунциклирует...


Название: Re: Qstring.startsWith("АБ")... кириллица из файла не ищется
Отправлено: carrygun от Февраль 19, 2013, 17:25
Код
C++ (Qt)
#include <QDebug>
qDebug() << str;