кодировка 1251 HELP!!
От: Vadim20  
Дата: 03.04.05 09:28
Оценка:
Есть программный комплекс:
В 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 и обратной конвертацией при его считывании, но хотелось бы
этого избежать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.