Как записать текстовый файл в ISO-8859-1 ???
От: busybox  
Дата: 21.01.07 18:52
Оценка:
Нужно записать XML файлик именно в кодировке ISO-8859-1, т.к. мобильный девайс понимает только такую.

Как/чем можно сконвертить XML файлик с кириллицей в ISO-8859-1 ???

Спасибо
Re: Как записать текстовый файл в ISO-8859-1 ???
От: NoOneKnows  
Дата: 21.01.07 20:04
Оценка:
Здравствуйте, busybox, Вы писали:

B>Нужно записать XML файлик именно в кодировке ISO-8859-1, т.к. мобильный девайс понимает только такую.


Ансвер:

// Создаете новые настройки писателя :) XmlWriterSettings xmlSettings = new XmlWriterSettings(); xmlSettings.Encoding = Encoding.GetEncoding("iso-8859-1"); // Пишите в любимой кодировке: XmlWriter writer = XmlWriter.Create(outFileName, xmlSettings); doc.Save(writer); // doc - это объект типа XmlDocument



B>Как/чем можно сконвертить XML файлик с кириллицей в ISO-8859-1 ???


Без потерь — ничем. Может, вы перепутали, и не ISO-8859-1 (Latin-1) имелась в виду, а ISO-8859-5 (Cyrillic)?
Если предпосылка "XML файлик с криллицей в UTF-8" верна, то решение простое:

XmlReaderSettings settings = new XmlReaderSettings(); XmlReaderSettings xmlReadSettings = new XmlReaderSettings(); // По умолчанию у xmlReadSettings кодировка UTF-8, // Так что все ОК: XmlReader reader = XmlReader.Create(filename, xmlReadSettings); // Читаем: XmlDocument doc = new XmlDocument(); doc.Load(reader); // Пишем в "правильной" кодировке: XmlWriterSettings xmlWriteSettings = new XmlWriterSettings(); xmlWriteSettings.Encoding = Encoding.GetEncoding("iso-8859-5"); XmlWriter writer = XmlWriter.Create(outFileName, xmlWriteSettings); doc.Save(writer);



Вариант, когда исохдный XML не в UTF-8 решается (должен) банальной установкой у xmlReadSettings.Encoding в требуемую кодировку.

B>Спасибо


Удачи .
С уважением, Рамиль Сам Ду Нар.
Почти самый отрицательный
Автор: NoOneKnows
Дата: 08.06.06
РСДНовец.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.