Russian Qt Forum

Qt => Интернационализация, локализация => Тема начата: jjoss от Июнь 17, 2010, 11:06



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


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: crossly от Июнь 17, 2010, 11:30
а зачем cp1251 если все в utf-8??


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: jjoss от Июнь 17, 2010, 11:55
а зачем cp1251 если все в utf-8??


Нужно в файл сохранять данные


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: crossly от Июнь 17, 2010, 12:19
и что??


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: jjoss от Июнь 17, 2010, 12:30
и что??
Вопрос был о том, как сделать, что бы была 1251. Для чего это - не имеет значения в данной теме.
Буду очень благодарен за ответ на вопрос, поставленный в теме.


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: lit-uriy от Июнь 17, 2010, 12:48
crossly, вопросы-то правильные задаёт. Тыб на них ответил и, гладишь, сам бы понял как надо


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: jjoss от Июнь 17, 2010, 12:52
crossly, вопросы-то правильные задаёт. Тыб на них ответил и, гладишь, сам бы понял как надо
Не уверен, на счёт правильности вопросов.
Нужно, что бы в requestResult был текст в кодировке 1251, что с ним дальше будет, по-моему, не имеет значения.
Возможно, конечно я и не прав.


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: lit-uriy от Июнь 17, 2010, 12:53
>>что бы в requestResult был текст в кодировке 1251
за каким лешим?
Если тебе в файл надо сохранять, дак там и устанавливай кодировку.


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: jjoss от Июнь 17, 2010, 13:02
>>что бы в requestResult был текст в кодировке 1251
за каким лешим?
Если тебе в файл надо сохранять, дак там и устанавливай кодировку.

До файла дело не доходит. Так как смотрю в отладчике - строка после использования кодека с "кракозяблами". Не могу понять, почему когда ответ с сервака - то всё нормально, когда ответ с локального компа - кракозяблы. Настройки апача сверял и там и там - всё нормально. В браузере текст в утф. В отладчике - символы добавлены левые....


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: jjoss от Июнь 17, 2010, 13:32
Вот смотрю в отладчике:
QTextCodec *codec = QTextCodec::codecForName("Windows-1251");
requestResult = reply->readAll();  //сейчас в requestResult "п»їOK"
requestResult = codec->fromUnicode(requestResult); //и сейчас в requestResult "п»їOK"

Ничего не происходит... А если, получаю данные с сервера - то всё правильно....


Название: Re: И опять кодировка (qt 4.6.0)
Отправлено: jjoss от Июнь 18, 2010, 08:49
Разобрался. Сам накосячил с кодеками.
Тему можно закрывать. Всем спасибо! :)