![]() |
|
Модераторы: Snowy, Poseidon, MetalFan |
![]()
|
|
| PriZraK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.10.2006 Репутация: нет Всего: нет |
Здравствуйте.
Delphi 2009. Пытаюсь отправить сообщение в UTF8 и принять ответ в UTF8. Ответ успешно перевожу в String (функцией UTF8ToString) (а следовательно в Unicode, т.к. в Delphi 2009: String = UnicodeString), а с отправкой проблема, русские символы теряются в сообщении. Что необходимо исправить? Привожу функцию общения программы-клиента с сервером.
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
а есть ли необходимость перевода в UnicodeString из UTF8 перед загрузкой в IXMLDOMDocument?
з.ы. может SwinHTTP не адаптирован для работы в 2009й делфе? Это сообщение отредактировал(а) MetalFan - 4.10.2008, 20:01 -------------------- There are always someone smarter than you... |
|||
|
||||
| PriZraK |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.10.2006 Репутация: нет Всего: нет |
Да, есть, иначе кириллица представляет собой «краказяблы»
В том то и дело, имхо, после передачи url строки в SwinHTTP, он преобразуется её обратно в String, а следовательно в таком виде (Unicode) она передаётся на сервер. Мои исправления кода SwinHTTP не увенчались успехом. Может быть обратится напрямую к разработчику? Делал на idHTTP — работает, но, черт, как медленно! Delphi 2009 понравился, уже не хочется возвращаться к 2007, возможно уже есть иной компонент для работы с HTTP/HTTPS работающий так же быстро (или быстрее) как SwinHTTP? |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
используй напрямую функции WinInet.
Добавлено через 32 секунды з.ы. странно, что за версия индей у тебя? у меня проблем с Indy не наблюдается... -------------------- There are always someone smarter than you... |
|||
|
||||
| PriZraK |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.10.2006 Репутация: нет Всего: нет |
Посмотрел что же приходит на сервер.
Оказалось, что русский текст отлично доходит до сервера, но а в БД не сохраняется, то есть при выполнении кода, подобного приведённому ниже, получаем пустую строку в БД.
От безысходности добавил перекодировку из windows-1251 в UTF-8.
И, о чудо, текст сохранился! Но такой бред оставлять не хочется. А по поводу:
Это сообщение отредактировал(а) PriZraK - 9.10.2008, 10:53 |
||||||||
|
|||||||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Проверь что уходит от клиента (маппером или сниффером).
Если уходит всё нормально, то вопрос уже не к Delphi. Если не корректно - будем смотреть... |
|||
|
||||
| PriZraK |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 22.10.2006 Репутация: нет Всего: нет |
В качестве сниффера выбрал "Ethereal" версии 0.99.0, вот что он поймал. Это URL-запрос на сохранение информации об оборудовании.
Интересует переменная "comment", в моём случае вернувшая несколько точек, за место русского текста, возможно проблема в кодировке, по этому привожу весь пакет. Хост заменён.
Может быть необходима иная информация? — подскажите название сниффера, для решения этого вопроса. |
||||
|
|||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 53 Всего: 484 |
Это не точки. Это "тест " в кодировке 1251.
А переконвертация в 1251 происходит, скорее всего автоматически в момент передачи параметра-строки. 2009 с собой нет - нужно посмотреть, как она относится к utf-8 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Сети" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |