Вопрос

Я использую XmlTextWriter для сохранения определенных элементов конфигурации моей программы (это всего лишь 10-15 строковых значений, поэтому я использую XmlTextWriter).Мой код выглядит следующим образом:

XmlTextWriter writer = new XmlTextWriter("FILENAME.XML", null);

writer.WriteStartElement("Config");
writer.WriteElementString("Param1", param1);
writer.WriteElementString("Param2", param2);
...
writer.WriteEndElement();

writer.Close();

Я хотел бы разрешить значениям paramX содержать Юникод.Ничего особенного — эти значения берутся из текстовых полей, в которые пользователь вводит данные, и я хочу, чтобы система работала нормально во всем мире (китайский, японский, иврит, арабский и т. д.).Я не анализирую данные, я просто хочу, чтобы они были хорошо представлены при следующей загрузке программы.

Как этого добиться?

Это было полезно?

Решение

Вторым параметром конструктора является кодирование.Кодировка по умолчанию, если оставить ноль, — UTF8.

Другие советы

Ну тут есть два аспекта:сохранение данных и их отображение.XML, безусловно, может обрабатывать Unicode, и XmlTextWriter тоже могу так сделать.

Что вы используете для отображения данных?Если это приложение Windows Forms, вам может потребоваться явно установить шрифт, который может обрабатывать весь необходимый вам Юникод.Определенно стоит протестировать все интересующие вас наборы символов (иврит и т. д.).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top