Russian Qt Forum
Сентябрь 21, 2024, 17:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: И опять кодировка (qt 4.6.0)  (Прочитано 7599 раз)
jjoss
Гость
« : Июнь 17, 2010, 11:06 »

Вопросов по кодировкам было много, но что-то решения своей проблемы я так и не нашёл.
Дело вот в чём. Делаю интернет приложение. Запросы через QNetworkAccessManager. Разрабатывать приходится в двух местах - непосредственно имея доступ на сервер дебиан с php-кодом страничек и локально, имея копию страничек.
Страницы в utf-8. Когда работаю непосредственно с сервером то без проблем получаю данные без кракозяблов используя кодек
Код:
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
requestResult = reply->readAll();
requestResult = codec->fromUnicode(requestResult);
Если работаю на другом компе локально, то такой способ не прокатывает - кракозяблы. Хотя тоже всё в utf-8.
Куда смотреть? В чём может быть проблема?
« Последнее редактирование: Июнь 17, 2010, 12:14 от jjoss » Записан
crossly
Гость
« Ответ #1 : Июнь 17, 2010, 11:30 »

а зачем cp1251 если все в utf-8??
Записан
jjoss
Гость
« Ответ #2 : Июнь 17, 2010, 11:55 »

а зачем cp1251 если все в utf-8??


Нужно в файл сохранять данные
Записан
crossly
Гость
« Ответ #3 : Июнь 17, 2010, 12:19 »

и что??
Записан
jjoss
Гость
« Ответ #4 : Июнь 17, 2010, 12:30 »

и что??
Вопрос был о том, как сделать, что бы была 1251. Для чего это - не имеет значения в данной теме.
Буду очень благодарен за ответ на вопрос, поставленный в теме.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Июнь 17, 2010, 12:48 »

crossly, вопросы-то правильные задаёт. Тыб на них ответил и, гладишь, сам бы понял как надо
Записан

Юра.
jjoss
Гость
« Ответ #6 : Июнь 17, 2010, 12:52 »

crossly, вопросы-то правильные задаёт. Тыб на них ответил и, гладишь, сам бы понял как надо
Не уверен, на счёт правильности вопросов.
Нужно, что бы в requestResult был текст в кодировке 1251, что с ним дальше будет, по-моему, не имеет значения.
Возможно, конечно я и не прав.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Июнь 17, 2010, 12:53 »

>>что бы в requestResult был текст в кодировке 1251
за каким лешим?
Если тебе в файл надо сохранять, дак там и устанавливай кодировку.
Записан

Юра.
jjoss
Гость
« Ответ #8 : Июнь 17, 2010, 13:02 »

>>что бы в requestResult был текст в кодировке 1251
за каким лешим?
Если тебе в файл надо сохранять, дак там и устанавливай кодировку.

До файла дело не доходит. Так как смотрю в отладчике - строка после использования кодека с "кракозяблами". Не могу понять, почему когда ответ с сервака - то всё нормально, когда ответ с локального компа - кракозяблы. Настройки апача сверял и там и там - всё нормально. В браузере текст в утф. В отладчике - символы добавлены левые....
Записан
jjoss
Гость
« Ответ #9 : Июнь 17, 2010, 13:32 »

Вот смотрю в отладчике:
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
requestResult = reply->readAll();  //сейчас в requestResult "п»їOK"
requestResult = codec->fromUnicode(requestResult); //и сейчас в requestResult "п»їOK"

Ничего не происходит... А если, получаю данные с сервера - то всё правильно....
Записан
jjoss
Гость
« Ответ #10 : Июнь 18, 2010, 08:49 »

Разобрался. Сам накосячил с кодеками.
Тему можно закрывать. Всем спасибо! Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.