Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как из UTF8 получить WideString [D6, XP]


Страницы:   1 2

leon2011 ©   (2011-07-08 11:43:00) 

Уважаемые мастера подскажите пожалуйста. Обращаюсь с запросом к серверу, сервер возвращает мне ответ в StringList в кодировке UTF8. При сохранении в файл все русские буквы заменяются на коды, вот например Разные р как вместо кодов получить WideString?


Германн   (2011-07-10 03:45:00) [1]


> а особенная благодарность Подгоретскому

Не "тс", а "ц".
P.S. АП утверждаться уже давно не нужно. :)


Германн   (2011-07-10 03:42:00) [2]


> В общем проблема решилась вот такой функцией:

Не уверен, что эта функция решила именно проблему. Скорее это "затычка". Сегодня на одном компьютере она сработала. Завтра/на других компьютерах она не сработает.


leon2011   (2011-07-09 23:50:00) [3]

В общем проблема решилась вот такой функцией:

function convert(s: string): string;
var
 i: Integer;
 c: string;
begin
 i:=1;
 while i


sniknik   (2011-07-08 19:14:00) [4]

> XMLDocument не заработал на некоторых машинах клиентов, может винда была кастрированная или еще что-то
explorer (/IE) тоже что-то не работали на тех машинах? а ведь без части DOM он на любой страничке "падать" будет...

> посоветует хороший бесплатный парсер для четко структурированного XML
а попробуй... TXMLDocument !?

> решающего мою проблему с UFT8?
у тебя нет проблемы с UFT8. вот сохрани свою страничку в ANSI (из блокгнота, "сохранить как"). поставь только в заголовке вместо encoding="UTF-8" - encoding="windows-1251"... и ??? проблемные "буквы-символы"  изменились? а открой получившееся "не работающим на некоторых машинах IE"? и??? теперь у тебя проблема с виндовой кодировкой, так?


DiamondShark   (2011-07-08 19:07:00) [5]


> TXMLDocument не заработал на некоторых машинах клиентов,
>  может винда была кастрированная или еще что-то но от него
> было решено отказаться.

Лучше бы было решено вчитаться со словарём в сообщение об ошибке.
TXMLDocument работает поверх MSXML, который, в случае "кастрированной винды", элементарно скачивается с микрософта.


> Может сообщество посоветует хороший бесплатный парсер для
> четко структурированного XML решающего мою проблему с UFT8?

MSXML (и его дельфийская обёртка TXMLDocument) -- это и есть хороший бесплатный парсер.
Самый хороший и самый бесплатный.
Сообщество не даст соврать.


leon2011   (2011-07-08 17:03:00) [6]

TXMLDocument не заработал на некоторых машинах клиентов, может винда была кастрированная или еще что-то но от него было решено отказаться. Может сообщество посоветует хороший бесплатный парсер для четко структурированного XML решающего мою проблему с UFT8?


Плохиш   (2011-07-08 16:41:00) [7]

Чë набросились?
Сказали дизайнеру ландшафта использовать стриглист, вот и использует.


Dennis I. Komarov   (2011-07-08 16:06:00) [8]


> и она кончится как только перейдут на стандартный парсер
> (TXmlDocument)...

... ее предстоит еще познать


sniknik   (2011-07-08 15:51:00) [9]

> Это следующая глава камасутры...
камасутра это то что сейчас, и она кончится как только перейдут на стандартный парсер (TXmlDocument)... и что важнее, она кончится и для тех кому не повезет работать по связке чего либо с таким "велосипедистом".


Dennis I. Komarov   (2011-07-08 15:22:00) [10]


> DiamondShark ©   (08.07.11 15:18) [19]

Это следующая глава камасутры...


DiamondShark   (2011-07-08 15:18:00) [11]


>  1056;1072;1079;1085;1099;1077;перед каждым
> 4-х значным числом стоят символы "&#".

это xml-entity.
загрузи ответ в xml-парсер, и посмотри InnerText элемента description. Удивись результату.
Разные

Ёкарный бабай. Если у вас АПИ с сервисом на основе xml, то какого рожна вы городите какие-то велосипеды со стринглистами? У вас что, TXmlDocument нету?


leon2011   (2011-07-08 14:41:00) [12]

мне нужен невизуальный метод


Anatoly Podgoretsky   (2011-07-08 14:27:00) [13]

> leon2011  (08.07.2011 14:24:16)  [16]

Есть, это TWebBrowser


leon2011   (2011-07-08 14:24:00) [14]

Ну а Delphi есть функция переводящая подобную кодировку в читаемую или придется писать самому?


Anatoly Podgoretsky   (2011-07-08 14:09:00) [15]

Да и похоже, что ты в Дельфи не умеешь работать с кодами символов.


Anatoly Podgoretsky   (2011-07-08 14:08:00) [16]


> leon2011 ©   (08.07.11 13:48) [12]

Так он и отдает в UTF-8, но почему ты думаешь, что в странице не может быть констант в HTML нотации? Я же не зря тебе рекомендую, почитать об организации HTML, это будет у тебя не последнее удивление, ты еще сможешь ознакомиться и с другими методами.


Медвежонок Пятачок   (2011-07-08 13:50:00) [17]

я грешил на Синапс

Ага на синапс. И говорил при этом, что замена происходит при сохранении в файл.


leon2011   (2011-07-08 13:48:00) [18]

Медвежонок Пятачок я совершенно трезв, я грешил на Синапс если честно наивно полагая что если в документации по API написано что отдавать будет в UTF8 то именно в нем и будет отдавать. Анатолий, так как же мне сконверить эту кодировку в читаемый вид при услови что там может быть не только кириллица но и скажем немецкий текст с умляутами?


Anatoly Podgoretsky   (2011-07-08 13:21:00) [19]

Это не UTF-8, а Юникод, транспортная HTML кодировка, цифры десятичный код.
Тебе надо изучить HTML что бы не пороть ерунду.


Медвежонок Пятачок   (2011-07-08 13:05:00) [20]

То есть ты сейчас трезвый и всерьез думаешь, что сервер отдал иначе, но проклятый стринглист в методе сэйв все испортил?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо