今天写一个程序使用ROME这个开源组件生成rss2.0文件,
使用utf-8格式保存中文总出现乱码,
从网上搜了一下,Rome在保存数据时采用的是gb2312格式,文件utf-8时即出现乱码,
SyndFeedOutput output = new SyndFeedOutput();
Writer out = null;
out = new FileWriter("文件名");
output.output(feed, out);
改为
SyndFeedOutput output = new SyndFeedOutput();
Writer writer;
writer = new OutputStreamWriter(new FileOutputStream("文件名")), "UTF-8");
output.output(feed, writer);
FileWriter写数据时采用的是系统默认的编码格式,所以需要下面的方法来设置使用“UTF-8”编码。