SQL & Unicode
От: DmitriySDA Украина  
Дата: 29.10.02 09:29
Оценка:
Здравствуйте, добрые люди!

Для ускорения формирования XML на основании данных хранимых в MS SQL 2000
я делаю что-то вроде


CDataSource ds;
CSession ss;
CCommand<CNoAccessor, CStreamRowset> rs;

ds.OpenFromInitializationString(m_ConnectionString);
ss.Open(ds); 
CHAR buffer[10000];
rs.Open(ss, L"SELECT 1 as Tag, NULL as Parent,
                    Customers.CustomerID as [Customer!1!CustomerID],
                    Customers.ContactName as [Customer!1!ContactName!element]
                 FROM Customers
                 ORDER BY [Customer!1!CustomerID]
             FOR XML EXPLICIT
                "); 
rs.m_spStream->Read(buffer, 10000, &realSize);



в результате я получаю данные в ANSI кодировке, что отлично работает для английского языка,
для кирилицы же получаю набор "левых" символов

в MSDN'е написано (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcconAccessingXMLData.asp), цитирую
ICommand::Execute returns an ISequentialStream pointer, which is stored in m_spStream.
You then use the Read method to retrieve the (Unicode string) data in XML format.


Тоесть данные при вызове метода Read я должен получить в Unicode

В SQL Query Analyzer выводиться правиль
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.