Мне нужно поместить некоторые данные из HashMap в xml. Но есть проблема с кодировкой Windows-1251 - она возвращает xml с тегом типа "& # 1090 *; & # 1088; & # 1080 *;" и т.д. Вот код с тестовым hashMap с значениями cp1251:
public String getValues() {
XmlSerializer serializer = Xml.newSerializer();
OutputStream outputStream = new ByteArrayOutputStream();
HashMap<String, String> map = new HashMap<String, String>();
map.put("one", "один");
map.put("two", "два");
map.put("three", "три");
try {
serializer.setOutput(outputStream, "Windows-1251");
serializer.startTag("", "fields");
for (String key : map.keySet()) {
serializer.startTag("", key);
serializer.text(map.get(key));
serializer.endTag("", key);
}
serializer.endTag("", "fields");
serializer.endDocument();
} catch (Exception e) {
Log.e(TAG, e.toString);
}
return outputStream.toString();
}
Как правильно установить кодировку? благодаря
Я нашел решение (я использовал неправильную кодировку):
serializer.setOutput(outputStream, "UTF-8");
Теперь все работает отлично