Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Acrobat от Апрель 21, 2016, 13:16



Название: Не подключается кодек для китайской коди
Отправлено: Acrobat от Апрель 21, 2016, 13:16
Доброго времени суток. Использую QT 4.8.6, компилятор от VS. Написал код который использует кодировку GB18030, подключаю её в функции main следующим образом:

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB18030"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));

Всё работает, на ура.
Собрал релиз всё запускается и работает, как надо. Но стоит перенести релиз на другую машину, приложение не видит кодировку GB18030.
Смотрю доступные кодеки следующим образом:
QString line;
foreach(QString str, QTextCodec::availableCodecs() )
line += str + " ";
QMessageBox mes;
mes.information(0, tr("Кодеки"), line);

на моей машине всё хорошо, на других хоть убей не видит и всё. Библиотека qcncodecs4.dll лежит рядом с .exe, а так же в папке codecs, которая лежит так же рядом с исполняемым файлом. Смотрел доступные кодировки в реестре (на другой машине разумеется), всё в порядке, все файлы на которых ссылается реестр так же присутствуют, но не одну из китайских кодировок не видит. Пересобирал qcncodecs4.dll, не помогло.
Друг на чьей машине тестировали, собрал мой проект из исходников, только на mingw, у него на машине стал видеться все китайские кодировки, а на моей его сборка не видит кодировки. Народ помогите, всё перепробовал.