diff options
author | Antonio Terceiro <terceiro@debian.org> | 2013-08-12 16:15:32 +0200 |
---|---|---|
committer | Antonio Terceiro <terceiro@softwarelivre.org> | 2013-08-13 01:38:12 +0200 |
commit | 7f7cc8280a36c55aa1776f75f3c011e66acada06 (patch) | |
tree | 488edf4486a5a802b3fae7b13e018df5a6130217 | |
parent | 576afd6ce5d0c15a9a14ad8b561793825e706239 (diff) | |
download | feed2imap-7f7cc8280a36c55aa1776f75f3c011e66acada06.tar.gz feed2imap-7f7cc8280a36c55aa1776f75f3c011e66acada06.tar.bz2 feed2imap-7f7cc8280a36c55aa1776f75f3c011e66acada06.zip |
Modernize hancling of encodings
Also, instead of converting from utf-8 to iso-8858-1, we do the other
way around since we now live in a utf-8 world.
Diffstat (limited to '')
-rw-r--r-- | lib/feed2imap/imap.rb | 4 | ||||
-rw-r--r-- | lib/feed2imap/rexml_patch.rb | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/feed2imap/imap.rb b/lib/feed2imap/imap.rb index 60775e2..4c54456 100644 --- a/lib/feed2imap/imap.rb +++ b/lib/feed2imap/imap.rb @@ -144,7 +144,9 @@ class ImapAccount d = f[0].attr['INTERNALDATE'] s = f[0].attr['ENVELOPE'].subject if s =~ /^=\?utf-8\?b\?/ - s = Base64::decode64(s.gsub(/^=\?utf-8\?b\?(.*)\?=$/, '\1')).toISO_8859_1('utf-8') + s = Base64::decode64(s.gsub(/^=\?utf-8\?b\?(.*)\?=$/, '\1')).force_encoding('utf-8') + elsif s =~ /^=\?iso-8859-1\?b\?/ + s = Base64::decode64(s.gsub(/^=\?iso-8859-1\?b\?(.*)\?=$/, '\1')).force_encoding('iso-8859-1').encode('utf-8') end if dryrun puts "To remove: #{s} (#{d})" diff --git a/lib/feed2imap/rexml_patch.rb b/lib/feed2imap/rexml_patch.rb index f991090..7016127 100644 --- a/lib/feed2imap/rexml_patch.rb +++ b/lib/feed2imap/rexml_patch.rb @@ -26,7 +26,7 @@ require 'feedparser' module REXML module Encoding def decode(str) - return str.toUTF8(@encoding) + return str.encode(@encoding) end def encode(str) |