![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как из UTF8 получить WideString [D6, XP]
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]То есть ты сейчас трезвый и всерьез думаешь, что сервер отдал иначе, но проклятый стринглист в методе сэйв все испортил?