![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Zlo |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 18.9.2004 Репутация: 1 Всего: 1 |
Столкнулся с проблемой в D2009, при загрузке странички с помощью indy IdHTTP в Memo получается вот такая петрушка с русскими символами.
кусочек кода странички:
Путем экспериментов мне все таки удалось сделать сделать из этого русский текст, далее немного сути: Код символа "Â" = 194, в русском это буква "В" и ее код в моем проекте показывает как 1042 1042-194=848, именно эта магическая цифра отделяет меня от нормального отображения русских букв. пришлось перебирать все символы что бы текст стал читаемым, прибавляя к символам 848 код которых более 190, с помощью такого кода:
Однако делается это очень медленно, соответственно может быть ктонить знает, что это за кодировка, и как большой объем символов конвертнуть в Unicode т.к. скорее всего проблема именно в этом. |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Как бы неплохо узнать какая настоящая кодировка у страницы. Для UTF8 я делал так
Добавлено через 1 минуту и 41 секунду P.S. браузером посмотри. Он показывает какую выбрал. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Обычная кодировка 1251. Просто набор символов западноевропейский, а не кириллица.
Смени чарсет на русский. Если он дефолтный, значит в системе дефолтный язык не русский. |
|||
|
||||
| Zlo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 18.9.2004 Репутация: 1 Всего: 1 |
Да, это 1251. и браузеры ее спокойно пережевывают, а вот прога нет...
В системе везде стоит русский/Россия |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
У тебя изначально где-то неверная перекодировка в юникод без указания кодировки прошла (кодировка 00, а не 04).
Чтобы проконтролировать данный процесс - получи результат в AnsiString. Задача №1 - получить страницу в AnsiString. Задача №2 - конвертировать в string любым имеющимся способом. Обычно простым присвоением. Если неудачно - искать другие способы. Но шаг №1 - обязательно. Добавлено @ 19:08 Конечно - ты же используешь RichEdit посимвольно, а также посимвольно выводишь в мемо. Даведи 2 отдельные переменные - в одну присвой текст из ричедита, а результат складывай во вторую, которую потом и добавь в мемо - скорость вырастет в тысячи раз. Но это совет про запас. На разных компьютерах ты можешь получить разный результат - где-то сконвертится нормально и ты на выходе получишь абракадабру. Лучше перекодировать анси в юникод, а не юникод в юникод с вероятностью нарваться на китайский. |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Zlo |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 18.9.2004 Репутация: 1 Всего: 1 |
Спасибо CodeMonkey и всем помогавшим, проблема решена способом по ссылке http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=68134
|
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
*facepalm*
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
![]()
|
| Правила форума "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. |