Russian Qt Forum

Qt => Вопросы новичков => Тема начата: ___Cepera___ от Февраль 11, 2016, 17:40



Название: Qxmlstreamreader русское значение параметра в теге
Отправлено: ___Cepera___ от Февраль 11, 2016, 17:40
С помощью qxmstreamreaderattributes получаю значение параметра
Так вот значие в xml файле на русском. id="Привет"
Кодировка файла utf-8

В начале файла строку <?xml version="1.0" encoding="utf-8"?> прописал
Когда получаю, значение получаю иероглифы. Настраивал кодировку в qt, все равно не помогло. Подскажите что можно сделать и можно ли вообще.


Название: Re: Qxmlstreamreader русское значение параметра в теге
Отправлено: gil9red от Февраль 11, 2016, 20:21
Сам файл кодирован в utf-8?


Название: Re: Qxmlstreamreader русское значение параметра в теге
Отправлено: ___Cepera___ от Февраль 11, 2016, 22:08
Да, в qt еще дописал
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8");
Возможно, что из за того что ос QNX. Завтра попробую на win7.
А по сути же должно работать?


Название: Re: Qxmlstreamreader русское значение параметра в теге
Отправлено: gil9red от Февраль 11, 2016, 22:44
Можете приложить xml файл и код получения значения?


Название: Re: Qxmlstreamreader русское значение параметра в теге
Отправлено: ___Cepera___ от Февраль 13, 2016, 17:11
Забыл отписать, решил проблему вот так
Код:
    QTextCodec * codec = QTextCodec::codecForName("UTF-8");
    QTextCodec :: setCodecForLocale(codec);
    QTextCodec :: setCodecForCStrings(codec);