Русский текст в XML-ки |
Здравствуйте, гость ( Вход | Регистрация )
Русский текст в XML-ки |
ruzik |
12.2.2012, 14:48
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Здравствуйте, не подскажите как можно правильно отобразить русский текст из XMl-ки, пытался сделать, что-то типа этого:
Пробовал вместо toLatin1() toLocal8bit() - все тщетно Заранее спасибо! |
|
|
maint |
12.2.2012, 15:25
Сообщение
#2
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
если глянуть в xml, там видно какая кодировака. Туда и to :-) Если не указано, думаю utf-8
Сообщение отредактировал maint - 12.2.2012, 15:25 |
|
|
ruzik |
12.2.2012, 16:12
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Ну вот я знаю, что кодировка, скажем, utf-8, а дальше QString::fromUtf8()?
И если да, то не подскажите есть в самом QString функция перевода из QString в * char, ибо функция fromUtf8() принимает массив char, а лишний раз нагромождать код не хочется |
|
|
maint |
12.2.2012, 16:37
Сообщение
#4
|
Участник Группа: Участник Сообщений: 235 Регистрация: 3.8.2009 Из: Иркутск Пользователь №: 982 Спасибо сказали: 28 раз(а) Репутация: 2 |
Ну вот я знаю, что кодировка, скажем, utf-8, а дальше QString::fromUtf8()? И если да, то не подскажите есть в самом QString функция перевода из QString в * char, ибо функция fromUtf8() принимает массив char, а лишний раз нагромождать код не хочется QString ssss; const char *s; s = ssss.toStdString().c_str(); где то так преобразование идет |
|
|
Гость_Гость_* |
12.2.2012, 20:21
Сообщение
#5
|
Гости |
bool QDomDocument::setContent ( const QByteArray & data, bool namespaceProcessing, QString * errorMsg = 0, int * errorLine = 0, int * errorColumn = 0 )
This function parses the XML document from the byte array data and sets it as the content of the document. It tries to detect the encoding of the document as required by the XML specification. .... |
|
|
ruzik |
12.2.2012, 21:42
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 254 Регистрация: 23.2.2011 Из: Саратов Пользователь №: 2436 Спасибо сказали: 2 раз(а) Репутация: 0 |
Ни с массивом char, ни с тупо QByteArray ничего не вышло, хотя метод canEncode() класса QTextCodec уверяет, что должно было выйти:
Везде результат одинаковый, английские буквы не трогает, а русские превращает в крякозябры Нашел возможный корень зол: Записать в utf8 тоже не получается, пробовал так:
|
|
|
Гость_Гость_* |
13.2.2012, 0:52
Сообщение
#7
|
Гости |
Для тех кто в танке, перекодировать в ручную ничего не надо при условии что в xml верно пописанна кодировка, или если файл в кодировке utf-8, это верно и для dom и для sax.
|
|
|
zloiia |
20.7.2012, 14:28
Сообщение
#8
|
Студент Группа: Участник Сообщений: 25 Регистрация: 5.5.2011 Пользователь №: 2655 Спасибо сказали: 5 раз(а) Репутация: 0 |
Тему по диагонали прочитал, но QTextCodec воспользоваться не пробовали? Он меня не раз спасал.
Упс, прошу прощения, ruzik аналогичное предложил. Сообщение отредактировал zloiia - 20.7.2012, 14:30 |
|
|
Текстовая версия | Сейчас: 23.11.2024, 21:42 |