登录 注册

登录

问题 使用UTF-8,RSS乱码解决方法

更多
2007年12月26日 10:19 #1 作者: vampires
当我们使用utf-8编码时,会产生很多乱码问题,可能很多朋友也象我一样遇到RSS订阅的乱码问题,查了很多网站,终于修改成功,希望与朋友们分享。
修改RSS乱码有三步:
1.修改组件components/com_rss/rss.php文件
将$info = $iso[1]
修改为$info = UTF-8 然后将文件另存为UTF-8格式的rss.php。
2.修改组件components/com_newsfeeds/newsfeeds.php文件

//Encoding
      $params->def('utf8'    1)
修改为
//Encoding
      $params->def('utf-8'    1)
3.修改includes/feedcreator.class.php文件约420行处
将(!in_arry($key, arry("_feed", "contentType", "enconding"))){
修改为(!in_arry($key, arry("_feed", "contentType"))){
希望能够帮助解决遇到RSS乱码的朋友们。

登录 或者   注册一个会员帐号 来参与讨论

更多
2007年12月27日 07:48 - 2007年12月27日 07:55 #2 作者: Joomla之门
非常感谢 vampires 指点!Joomla! 中文社区很需要你这样的热心人。欢迎常来本论坛指导我们。

补充一下,在第 3 个文件 includes/feedcreator.class.php 的第 420 行(Joomla! 1.0.13 版本),其代码已经是:
if (!in_array($key, array("_feed", "contentType"))) {

因此不需要修改了。不知道我这个意见对不对?

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2007年12月27日 12:52 #3 作者: vampires
还是白老师说的对,在这里感谢白老师建立的JOOMLAGATE,才使得我们这些JOOMLA爱好者有了可以探讨学习的地方。感谢白老师!

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年01月10日 13:35 #4 作者: hzsky
不过我按照这个方法改了,还是不行啊

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年01月17日 11:21 #5 作者: Joomla之门
本站会员 82008218 增加了一个修改 ,打开 includes/feedcreator.class.php 文件,大约在523左右,找到:
var $encoding = "ISO-8859-1";
修改为
var $encoding = "utf-8";

这个方法可以解决 Remository 组件 RSS 输出乱码的问题。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年01月17日 19:10 #6 作者: 5831483
问题是 ,以上所有的方法我都用了 ,问题不但没有解决 ,而且变的更加严重了,乱码依旧乱码,原来显示正常的的现在压根不显示了,还望各位大侠指点
好比使用新浪网游的rss 和 硅谷游戏的rss 原本是能显示的 现在显示不了了
而类似 21.cn游戏 it世界网游戏频道 显示依旧是乱码

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年01月18日 07:35 #7 作者: Joomla之门
这些修改的目的是为了使 utf-8 编码的 RSS 源显示正常中文。你所提到的“新浪网游的rss 和 硅谷游戏的rss ”都是 gb2312 编码,所以改为 utf-8 之后反而成了乱码。

这就是一个两难:你的 Joomla! 网站使用了 utf-8,如果不按照上述方法修改,则你的 RSS 输出是乱码;如果修改,则引用别人的 RSS 成了乱码。

因此,你只能自己斟酌选择。现在似乎没有更好的办法。

付费下载 Joomla 3 扩展汉化版: 我要付费支持 Joomla 之门!

登录 或者   注册一个会员帐号 来参与讨论

更多
2008年01月18日 11:32 #8 作者: 5831483
恩 ,看来目前也只能挑选一些能正常显示的rss源了

登录 或者   注册一个会员帐号 来参与讨论