关于ROME使用UTF-8编码写rss文件时出现乱码的解决方法

今天写一个程序使用ROME这个开源组件生成rss2.0文件,使用utf-8格式保存中文总出现乱码,从网上搜了一下发现遇到这个问题的人不少,但是好像没有找到好的解决方法。例如:
保存“中文”两个汉字时就会出现乱码,将保存文件的格式转为gb2312就可以正确显示,说明Rome在保存数据时采用的是gb2312格式,文件utf-8时即出现乱码,这样可以采用将数据转码 http://www.wujianrong.com/archives/2006/11/webworkromerss.html的方法,但是实际运用中还是有部分文字出现乱码,最终其实问题不是出在Rome上而是这里:
 
  1. SyndFeedOutput output = new SyndFeedOutput();    
  2. Writer out = null;
  3. out = new FileWriter("文件名");    
  4. output.output(feed, out);  
  5. 改为
  6. SyndFeedOutput output = new SyndFeedOutput();
  7. Writer writer;
  8. writer = new OutputStreamWriter(new FileOutputStream("文件名")), "UTF-8");
    output.output(feed, writer); 

这样问题就解决了!  FileWriter写数据时采用的是系统默认的编码格式,所以需要下面的方法来设置使用“UTF-8”编码。      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值