首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XmlSerializer编码

XmlSerializer编码
EN

Stack Overflow用户
提问于 2014-11-17 19:51:38
回答 1查看 989关注 0票数 1

我需要将一些来自HashMap的数据放入xml中。但是Windows1251编码存在一个问题--它使用"т*;ри*;“等标记返回xml。下面是带有cp1251值的测试hashMap代码:

代码语言:javascript
复制
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();
}

如何正确设置编码?谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-11-18 08:08:14

我找到了解决方案(我使用了错误的编码):

代码语言:javascript
复制
serializer.setOutput(outputStream, "UTF-8");

现在一切都很好

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26980773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档