1) new StreamReader("some.xml", Encoding.GetEncoding(1251)) — на вход парсеру.
2) юзай msxml.
"Vadim20" <22524@users.rsdn.ru> wrote in message
news:1104765@news.rsdn.ru...
From: Vadim20
Есть программный комплекс:
В MFC-шной проге я формирую XML (а данные для этого беру из интерфейса, в
CP1251), затем сохраняю этот XML в базу данных. В ней же читаю XML из базы.
В С#-овской проге XML из базы данных только читаю.
В обоих программах данные после считывания отправляются в интерфейс, т.е.
нужно чтобы они были в CP1251.
Удобно было бы чтобы всё было в CP1251, поскольку как исходные так и
выходные данные должны быть в CP1251. Однако есть проблемы:
1. В C#-овской проге дотнетовский парсер XmlSerializer когда читает XML
скипает русские буквы, даже если в заголовке XML-файла указано
codepage="CP1251"
2. В MFC-шной проге XMLLIB ( и PugXML тоже) структуру файла разбирают
правильно, но строки перекодируют в двухбайтовую кодировку (вероятно UTF-8).
И как из полученной структуры вытащить строку в CP1251 —
непонятно (функция WideCharToMultiByte неправильно перекодирует).
Есть подозрение, что проблему можно решить конвертацией 1251->UTF8 при
сохранении в XML и обратной конвертацией при его считывании, но хотелось бы
этого избежать.
кодировка 1251 HELP!! Оценить
Posted via RSDN NNTP Server 1.9