|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Delphi TClientDataSet utf-8
Добрый день, коллеги.
Необходимо использовать казахскую кодировку в программе на Delphi. Данные передаются ввиде xml-файла в oIntermediateStream и загружаются TClientDataSet. Код:
oIntermediateStream : TStringStream; oClient := TClientDataSet.Create(MainOpScr); oClient.LoadFromStream(oIntermediateStream); Проблема в том, что в базе (ACCESS) символ қ (казахская к), к примеру, отображается в виде двух символов Т›. Создается впечатление, что функция LoadFromStream грузит в кодировке Windows, а не как utf-8. Если вставить этот символ через буфер обмена, то буква отображается нормально. Xml-файл выглядит так (в кодировке windows): <?xml version="1.0" encoding="utf-8" standalone="yes"?><Write set="TableName"><DATAPACKET Version="2.0"><METADATA><FIELDS><FIELD attrname="name1" fieldtype="bin.hex" SUBTYPE="Text" WIDTH="1" /></FIELDS></METADATA><ROWDATA><ROW name1="Т>" /></ROWDATA></DATAPACKET></Write> В браузере этот файл отображает нормально букву қ. Вопрос собственно КАК загрузить то? Сейчас смотрю в сторону TXMLTransformProvider, но пока не разобрался... |