[group]group=Группаvalue=Значение[Группа]value=данныеЗначение=Ещё данныеТест=тест данные
#include <QtGui/QApplication>#include <QTextCodec>#include <QSettings>#include <QDebug>int main(int argc, char *argv[]) { QApplication a(argc, argv); QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); //QTextCodec::setCodecForCStrings(codec); // откоментить и работать перестанет, а по дефолту: Latin-1 QString group,value; QSettings *ini=new QSettings(qApp->applicationDirPath()+"/config.ini",QSettings::IniFormat); ini->setIniCodec(codec); ini->beginGroup("group"); group = ini->value("group").toString(); value = ini->value("value").toString(); qDebug() << QObject::tr("Считанные значения:") << group << value; delete ini; // без пересоздания QSettings не работает ini=new QSettings(qApp->applicationDirPath()+"/config.ini",QSettings::IniFormat); ini->setIniCodec(codec); qDebug() << QObject::tr("Получаем данные из русской группы:"); ini->beginGroup(group.toLocal8Bit()); // без toLocal8Bit() не работает qDebug() << ini->value("value").toString(); qDebug() << ini->value(value.toLocal8Bit()).toString(); ini->endGroup(); qDebug() << ini->value("Группа/Тест").toString(); // работает return 0;}
"Считанные значения:" "Группа" "Значение" "Получаем данные из русской группы:" "данные" "Ещё данные" "тест данные"
ini->beginGroup(group.toLocal8Bit());qDebug() << ini->value(value.toLocal8Bit()).toString();ini->endGroup();
qDebug() << ini->value("Группа/Значение").toString();
C++ (Qt) QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); //QTextCodec::setCodecForCStrings(codec); // откоментить и работать перестанет, а по дефолту: Latin-1
C++ (Qt)#include <QtGui/QApplication>#include <QTextCodec>#include <QSettings>#include <QDebug> int main(int argc, char *argv[]){ QApplication a(argc, argv); QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); QString group, value; QSettings ini( qApp->applicationDirPath()+"/config.ini",QSettings::IniFormat ); ini.setIniCodec( codec ); ini.beginGroup("group"); group = ini.value("group").toString(); value = ini.value("value").toString(); ini.endGroup(); qDebug() << group << value; ini.beginGroup( codec->fromUnicode( group ) ); qDebug() << ini.value("value").toString(); qDebug() << ini.value( codec->fromUnicode( value ) ).toString(); ini.endGroup(); qDebug() << ini.value("Группа/Тест").toString(); return 0;}
C++ (Qt) QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(codec); //QTextCodec::setCodecForCStrings(codec);
C++ (Qt) qDebug() << ini.value("Группа/Тест").toString();
[group]group=Группаvalue=Значение[%C3%F0%F3%EF%EF%E0]value=данные%C7%ED%E0%F7%E5%ED%E8%E5=Ещё данные%D2%E5%F1%F2=тест данные[General]%D1%ED%E5%E3=123