我正在尝试使用iCalendar gem在rails 4网站上导入一些iCal文件。
有时文件的类型为“text/calendar;charset=utf-8
”,有时为“text/calendar; charset=UTF-8;
”
我正在检索它:
uri = URI.parse(url)
calendar = Net::HTTP.get_response(uri)
new_calendar = Icalendar.parse(calendar.body)
当它text/calendar;charset=utf-8
工作正常时。但是当它text/calendar; charset=UTF-8
编码时我在字符串中得到UTF代码
SUMMARY:Tech Job Fair – City(ST) – Jul 1, 2015
最终成为
["Tech Job Fair \xE2\x80\x93 City(ST) \xE2\x80\x93 Jul 1", " 2015"]
然后将其保存到数据库中,这是不可取的。
charset / content-type是否在这里显示问题,或者它实际上只是从源代码编码错误了?
如何更改检索命令以有效地删除这些代码或将其作为UTF字符串告诉它,以便它首先不包含它们?
更新:有些是text/calendar;charset=utf-8
,有些是text/calendar;charset=UTF-8
,有些是text/calendar; charset=UTF-8
。请注意,最后一个在两个段之间有一个空格。这会引起问题吗?
Update2:在Notepad ++中打开我的三个示例iCal文件,显示它们在菜单中编码为“UTF-8 without BOM”。