Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2014, 12:34   #1
Henry
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 15
По умолчанию RichEdit и кодировка

Здравствуйте!

Задача такая: Читаю код страницы в интернете, парсю его и вывожу в richedit:

Код:
String htmltext = IdHTTP1->Get(адрес_страницы);
.
.
.
RE->Lines->Add(htmltext);
проблема в том что страница содержит текст: Estádio Mineirão
а в штмл коде он отображается как:
Код HTML:
<a href="8/">Estádio Mineirão</a>
соответственно IdHTTP читает тоже самое и в ричэдит пишется Estádio Mineirão

Подскажите как решить проблему? Как в рич эдит вывести Estádio Mineirão?

Тут кодировка тоже не выводит правильный вариант.

Последний раз редактировалось Henry; 16.05.2014 в 12:40.
Henry вне форума Ответить с цитированием
Старый 16.05.2014, 12:52   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Заменить á на соотвествующую букву.
waleri вне форума Ответить с цитированием
Старый 16.05.2014, 13:08   #3
Henry
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 15
По умолчанию

Но ричэдит умеет отображать такие символы (выводил статический текст содержащий подобные буквы), как программно из переменной вывести?
Henry вне форума Ответить с цитированием
Старый 16.05.2014, 13:24   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Henry Посмотреть сообщение
Но ричэдит умеет отображать такие символы (выводил статический текст содержащий подобные буквы), как программно из переменной вывести?
это не кодировка текста, это кодирование информации, и сами символы то рич умеет отображать, но вот декодировать HTML сущности он не умеет.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.05.2014, 14:48   #5
Henry
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
это не кодировка текста, это кодирование информации, и сами символы то рич умеет отображать, но вот декодировать HTML сущности он не умеет.
Так мне не надо штмл кодировать, мне надо вырезанный кусок текста отобразить в ричэдите как обычный текст, но содержащий такие вот хитрые символы.
Henry вне форума Ответить с цитированием
Старый 16.05.2014, 14:52   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Henry Посмотреть сообщение
Так мне не надо штмл кодировать, мне надо вырезанный кусок текста отобразить в ричэдите как обычный текст, но содержащий такие вот хитрые символы.
для того чтоб ã это стало символом его надо декодировать в нормальный вид.
и делать это должны вы, ибо ричэдит этого не умеет(да и не должен).
можно нарыть готовый код.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.05.2014, 14:57   #7
Henry
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 15
По умолчанию

Абсолютно верно, в этом и вопрос, как предоставить ричэдиту информацию, чтобы он вывел её как надо.

Интернет рыл, не смог найти ничего по этому поводу. Кое что пробовал, ничего не помогает.
Henry вне форума Ответить с цитированием
Старый 16.05.2014, 17:18   #8
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от Henry Посмотреть сообщение
Абсолютно верно, в этом и вопрос, как предоставить ричэдиту информацию, чтобы он вывел её как надо.
Никак. Надо самому ручками пройтись по тексту и заменить вхождения &#ХХХ; на символ, чей код ХХХ.

Или вместо richedit используйте IE компонент - он умеет показывать HTML.
waleri вне форума Ответить с цитированием
Старый 16.05.2014, 19:01   #9
Henry
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 15
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Никак. Надо самому ручками пройтись по тексту и заменить вхождения &#ХХХ; на символ, чей код ХХХ.
ну ричэдит же имеет возможность показывать эти символы, может можно как то подсунуть ему строку, только как её закодировать...
Цитата:
Сообщение от waleri Посмотреть сообщение
Или вместо richedit используйте IE компонент - он умеет показывать HTML.
можно поточнее, что за компонент?
Henry вне форума Ответить с цитированием
Старый 16.05.2014, 19:27   #10
Henry
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 15
По умолчанию

Решил вопрос:
Код:
#include <Web.HTTPApp.hpp>
.
.
RE->Lines->Add(HTMLDecode(htmltext));
Спасибо, участвующим!
Henry вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка в RichEdit Черничный Общие вопросы Delphi 4 02.04.2016 22:22
Загрузка в RichEdit текста из файла, и получение его из RichEdit Byurrer Общие вопросы C/C++ 1 09.04.2011 10:17
Вставка изображения с RichEdit в RichEdit Sensizu Компоненты Delphi 2 01.10.2009 18:11
Кодировка... Chi HTML и CSS 4 04.01.2009 09:23
Кодировка satana Общие вопросы Delphi 1 20.12.2007 02:53