45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网页设计 >

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

电脑软硬件应用网 45IT.COM 时间:2009-07-23 22:09 作者:网络转载

今天写一个程序使用ROME这个开源组件生成rss2.0文件,使用utf-8格式保存中文总出现乱码,从网上搜了一下发现遇到这个问题的人不少,但是好像没有找到好的解决方法。

例如:

保存“中文”两个汉字时就会出现乱码,将保存文件的格式转为gb2312就可以正确显示,说明Rome在保存数据时采用的是gb2312格式,文件utf-8时即出现乱码,这样可以采用将数据转码http://www.wujianrong.com/archives/2006/11/webworkromerss.html的方法,但是实际运用中还是有部分文字出现乱码,最终其实问题不是出在Rome上而是这里:

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”编码。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
你可能感兴趣的文章
推荐知识