crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Utf8, QHttp и русский, как отправить данные..
ieroglif
  опции профиля:
сообщение 13.5.2009, 16:34
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 19.1.2009
Из: планета Земля
Пользователь №: 496

Спасибо сказали: 0 раз(а)




Репутация:   0  


есть сайт.
отправляю на него гетом дату. (пишу клиента к нему софтового).
на сайт отправляется русский текст.
файрбаг показывает превращение русской буквы "а" в %u0430.. а qt шными методами получается только %D0%B0
в чём засада?
уже готов написать тупой перекодировщик по массивам..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 13.5.2009, 17:01
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3290
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Как я понял получается, что ты сначала символ кириллицы кодируется в Юникоде ( UTF-8 ) в последовательность из двух байтов, а затем каждый байт этой последовательности записывается в шестнадцатеричном представлении (%D0%B0).

Тоесть делаешь то же, что нужно делать при правильном формировании URL.

Приведи код, получения даты и отправки.

Сообщение отредактировал ViGOur - 13.5.2009, 17:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ieroglif
  опции профиля:
сообщение 13.5.2009, 17:36
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 19.1.2009
Из: планета Земля
Пользователь №: 496

Спасибо сказали: 0 раз(а)




Репутация:   0  


прошу прощения.
проблема не в Utf8 а в юникоде.
просто не получается получить QString юникодовских символов из исходного QString с русским (и англ) текстом.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.5.2009, 18:11
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ieroglif @ 13.5.2009, 21:36) *
не получается получить QString юникодовских символов из исходного QString
не понял. Скажи какую кодировку тебе надо получить? В QString лежат строки в UTF-16.
И откуда ты берёшь строку?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ieroglif
  опции профиля:
сообщение 13.5.2009, 20:11
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 19.1.2009
Из: планета Земля
Пользователь №: 496

Спасибо сказали: 0 раз(а)




Репутация:   0  


есть веб чат.
сайт использует юникодовскую кодировку.
я пишу софтового клиента для него.
принимать данные я научился без проблем.
они приходят в утф8.
но вот отправляется строка в виде GET /chat_add.php?SESSID=aaaaaa&text=!!!!!! и вот в этом самом text лежит юникод русская строка.
причём я уже написал перекодировщик для русский букв. что бы подставлялист юникод значения.. почему-то сервер не хавает..
в общем, я очень печалюсь =(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 13.5.2009, 20:29
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(ieroglif @ 14.5.2009, 0:11) *
юникодовскую кодировку.
Цитата(ieroglif @ 14.5.2009, 0:11) *
лежит юникод русская строка.
юникод понятие слишком растяжимое. Итак:
1) на сайте используется UTF-8
2) откуда берёшь строку для отправки? (зашито в коде или пользователь вводит через графический интерфейс или как-то ещё?)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 13.5.2009, 20:51
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(ieroglif @ 13.5.2009, 21:11) *
но вот отправляется строка в виде GET /chat_add.php?SESSID=aaaaaa&text=!!!!!! и вот в этом самом text лежит юникод русская строка.

А ты попробуй этот text прогнать через QUrl::toPunycode( text ).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ieroglif
  опции профиля:
сообщение 13.5.2009, 21:18
Сообщение #8


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 19.1.2009
Из: планета Земля
Пользователь №: 496

Спасибо сказали: 0 раз(а)




Репутация:   0  


не момогло...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 13.5.2009, 21:38
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(ieroglif @ 13.5.2009, 22:18) *
не момогло...

А попробуй через QUrl::toPercentEncoding( text ).

Punycode малость не то. Торможу. ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 23.10.2019, 20:50