![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| SkyAngel |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Вот так выглядит исходный код страницы, когда я получаю её при помощи функции IdHttp.get.:
А вот так должен выглядеть этот код:
И вот собственно сам вопрос - как правильно декодировать страницу, чтобы увидеть нормальное её содержание? Очень благодарен буду за ответ. |
||||
|
|||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Используйте Utf8ToAnsi.
|
|||
|
||||
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Пытался, всё равно нормально не получается.
Ещё предложения? P.S. просто для того, кто будет помогать - страница s1.travian.ru |
|||
|
||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
Не пользую Indy.
Но, к примеру, #$D#$A#$D#$A должно быть переделано в CRLF (т.е. символы #13#10). Если есть стандартная для индей функция - это замечательно. Если нет - пробегать по всему тексту и заменять. Немного неблагодарное дело - 3 символа (или 2 в случае #9) заменять на 1. Хотя и быстрое. Добавлено через 30 секунд вроде, #9 - это TAB... Добавлено через 9 минут и 36 секунд гы. Вот что значит - не работаю с тырнетом UTF8ToAnsiSmart |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
У меня все прекрасно работает через следующий код (без вашей абракадабры):
А в 2009 Delphi, на сколько я знаю, даже в ANSI переводить не надо, там компоненты Unicode поддерживают. Прикрепляю картинку. Присоединённый файл ( Кол-во скачиваний: 18 )
1.JPG 34,91 Kb |
|||
|
||||
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Однако. Так оно и работает. Но если забирать это всё в строку, то остаются символы форматирования. Вот тогда такой вопрос- как их убрать?
|
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Забираю в строку:
Все слова на кириллице снова прекрасно отображаются, из спецсимволов только переход на сл. строку (#13 и #10), . Их надо убрать? Это сообщение отредактировал(а) Keeper89 - 10.6.2009, 15:15 |
|||
|
||||
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Keeper89, если выводить слова - то всё отлично. Однако, если во время отладки проверить состояние строки - там можно найти много абракадабры. Но это ладно. Большую часть я тупым способом убрал. А именно запихнул всё в TMemo, а потом прочитал оттуда по строкам всё. Однако местами остаются символы #9. Когда я решил просто просканить весь текст на эти символы и поудалять - обнаружил чудо, он не находит их! Собственно, если вам не трудно, напишите алгоритм, как Вы очистили бы исходный код страницы от лишних символов форматирования.
P.S. Работаю на CodeGear 2009. Переформатирование не произвожу. Просто присвоение. Это сообщение отредактировал(а) SkyAngel - 10.6.2009, 15:27 |
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Я бы не проверял содержимое строки в IDE.
Опишите, как вы работаете и что делаете с полученной строкой, возможно ничего менять не нужно. |
|||
|
||||
| SkyAngel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 11.1.2009 Где: Беларусь, Минск Репутация: нет Всего: нет |
Дело в том, что у меня уже была программа, получающая именно эту страницу и успешно залогинившаяся в ней. Однако, из-за новой версии я не могу залогиниться старым способом. Но вообще, я хотел бы просто очистить эту строку от лишних частей ).
|
|||
|
||||
| Keeper89 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2580 Регистрация: 26.2.2009 Репутация: 9 Всего: 58 |
Почему я спрашиваю про дальнейшие действия - не понятно, откуда берутся эти спецзнаки. Любой способ у меня работает нормально. Может стоит лучше посмотреть процедуру входа а сайте? |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |