|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.05.2017, 11:08 | #1 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
utf8toansi не работает в DelphiXE?
Здравствуйте.
Решил перенести код по обработке сайта из D7 в DXE. Но встречаю то одну, то другую загвоздку... Одну из них вообще не знаю как решить. В D7 для получения нормальных русских букв пользовался функцией utf8toansi. DXE даёт после этой функции вместо русских букв знаки вопроса. Как с этим быть? Чем заменить эту функцию, чтобы получать нормальную страницу? И, если никто не против, заодно задам вопрос, который никак не могу понять: как перевести текст из кодировки, используемой в D7 (ansi) в кодировку DXE (unicode) и наоборот? |
26.05.2017, 13:54 | #2 | ||
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Цитата:
Полагаю, идет преобразование уже преобразованного. В этом случае надобность в этой функции отпадает вовсе. Цитата:
Кажется, ответ больше запутывает чем распутывает )) |
||
26.05.2017, 14:17 | #3 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Ship_1
В XE это сделано через одно место. Короче всё с ног на голову поставили. Перекодировать куда откуда. Из массива байт Bytes в строку типа Unicode. Код:
Код:
Но этого как раз и следует избегать. На входе в программу все строки следует приводить в Unicode. utf8toansi - заменяется Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . Последний раз редактировалось Pavia; 26.05.2017 в 14:29. |
26.05.2017, 14:27 | #4 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Текст страницы в StringList.Text через idHTTP.Get (без каких-либо дополнительных параметров и свойств)
Код:
Код:
Последний раз редактировалось Ship_1; 26.05.2017 в 14:51. |
26.05.2017, 15:21 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
простите, никак не могу понять, что не получается.
насколько я слышал, в XE уже нормальный Unicode поддерживается. поэтому: Код:
или я что-то не понимаю? p.s. html - это какой контрол? и зачем нужен Ansi, если есть Unicode? |
26.05.2017, 15:41 | #6 | ||
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Serge_Bliznykov, без обработки выходит вот такой результат:
Цитата:
Цитата:
На всякий случай вот код функции URLCode (может, в ней чего не то, хотя браузером ссылка воспринимается адекватно и idHTTP данные грузит) Код:
Код:
Последний раз редактировалось Ship_1; 26.05.2017 в 15:55. |
||
26.05.2017, 18:33 | #7 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Так там ничего и не надо.
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
29.05.2017, 10:16 | #8 | |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Pavia, полностью скопировал, всё равно для кириллицы не помогло.
Цитата:
|
|
29.05.2017, 10:24 | #9 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
29.05.2017, 12:36 | #10 | |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Прошу прощения за свою оплошность... Я сохранял результат в файл html и открывал через браузер, там получались приведённые мной символы. Сейчас после замечания посмотрел сам txt, и, вроде, сами результаты запроса в нормальной кодировке. Меня сбивали присутствующие в txt строки вида
Цитата:
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает анимация. Механизм работает лишь при изменения числа в едит1. | Студент ММИ | Помощь студентам | 1 | 18.05.2015 07:39 |
Ошибка "cannot resolve unit name" при переносе проекта с Delphi7 на DelphiXE | Ferkel | Общие вопросы Delphi | 1 | 16.06.2012 13:01 |
не работает relese версия проги и debug работает тока на моем компе | D][mon | C# (си шарп) | 2 | 04.05.2012 20:21 |
QuickReport for DelphiXE | ArtGrek | Компоненты Delphi | 1 | 14.10.2011 13:00 |
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? | >>STINGER<< | Помощь студентам | 4 | 08.03.2011 09:56 |