Добрый день, коллеги.
Необходимо использовать казахскую кодировку в программе на 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, но пока не разобрался...