Я взял ваш код и проверил. Программа печатает
There.
Значит у вас проблема именно в кодировке.
rx1.indexIn(line.toUtf8()) -> здесь преобразовывать ничего не нужно, достаточно написать
Все проблемы с кодировками Qt решаются по единому алгоритму:
Главное помнить, что QString ВСЕГДА хранит строку в кодировке UTF-16. Ваша задача - добиться того, чтобы все данные в других кодировках были преобразованы в QString правильно.
Вы должны четко понимать, в какой кодировке хранятся исходные коды вашей программы. Предположим, что это utf-8 без BOM. Для такого случая нужно написать в начале программы
C++ (Qt)
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("utf-8"));
Вы должны точно знать, в какой кодировке ваши входные данные (файл "input.txt"). Некоторые кодировки Qt может распознать сама, про другие ей надо подсказать. (Qt может распознать кодировку, только если вначале файла стоит метка BOM (Byte Order Mark)).
Если же, например, файл сохранен в кодировке windows-1251, нужно об этом сообщить классу QTextStream:
C++ (Qt)
in.setCodec("windows-1251");