Название: Проблемы с кодировкой Отправлено: BuRn от Август 04, 2014, 22:03 Добрый вечер, не пойму в чем проблема, есть хтмл страница в Windows-1251, получил я ее в QString, далее через QTextCodec пытаюсь ее перевести, но получаю лажу
Код: QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); Название: Re: Проблемы с кодировкой Отправлено: Bepec от Август 04, 2014, 22:28 codec->fromUnicode типа ты её из юникода преобразуешь вроде. А не ToUnicode надо?
Название: Re: Проблемы с кодировкой Отправлено: BuRn от Август 04, 2014, 22:31 codec->fromUnicode типа ты её из юникода преобразуешь вроде. А не ToUnicode надо? Не, ситуация аналогичнаяНазвание: Re: Проблемы с кодировкой Отправлено: Kurles от Август 04, 2014, 22:53 Добрый вечер, не пойму в чем проблема, есть хтмл страница в Windows-1251, получил я ее в QString, далее через QTextCodec пытаюсь ее перевести, но получаю лажу this. Надо ее не в QString получать, а в QByteArray, а потом, как правильно заметил уважаемый Верес использовать QString QTextCodec::toUnicode(..).Код: QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); Название: Re: Проблемы с кодировкой Отправлено: Nidxogg от Август 04, 2014, 22:55 Цитировать QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); Так попробуйQString dest = codec->toUnicode( content.toAscii()); Название: Re: Проблемы с кодировкой Отправлено: BuRn от Август 04, 2014, 23:05 Добрый вечер, не пойму в чем проблема, есть хтмл страница в Windows-1251, получил я ее в QString, далее через QTextCodec пытаюсь ее перевести, но получаю лажу this. Надо ее не в QString получать, а в QByteArray, а потом, как правильно заметил уважаемый Верес использовать QString QTextCodec::toUnicode(..).Код: QTextCodec *codec = QTextCodec::codecForName("Windows-1251"); Название: Re: Проблемы с кодировкой Отправлено: Kurles от Август 04, 2014, 23:10 Благодарю, удалось. Хотя какое-то странное имхо поведение... Почему? Внутри ж QString в utf-8 все хранит, а при чтении в QString из cp1251 использовался кодек, установленный в void QTextCodec::setCodecForCStrings ( QTextCodec * codec ) [static], или какой там по умолчанию. И вот потом он уже один раз неправильно отдекодированное еще раз декодировать пытается, соответственно лажа получается.Название: Re: Проблемы с кодировкой Отправлено: kambala от Август 05, 2014, 10:44 Почему? Внутри ж QString в utf-8 все хранит разве не в 16?Название: Re: Проблемы с кодировкой Отправлено: Kurles от Август 05, 2014, 13:21 Точно. Ну тогда ж тем более понятно описываемое поведение.
|