From: MonkeeSage Date: 2007-11-30T09:05:02+09:00 Subject: Re: Help with Iconv needed On Nov 29, 6:50 am, Marcus Strube wrote: > Can someone tell me what it is that I'm getting wrong here with "iconv"? > I either get "IllegalSequence" or "äöüß" are not encoded properly when > using Iconv.conv while it looks good using backticks. ("IllegalSequence > right now with the second. ÄÖü with the first anytime...) > > require 'rss/1.0'; require 'rss/2.0'; require 'open-uri'; require > "iconv" > > #source = "http://www.sueddeutsche.de/app/service/rss/alles/rss.xml" > source = "http://www.welt.de/vermischtes/?service=Rss" > > content = ""; open(source) { |s| content = s.read }; rss = > RSS::Parser.parse(content, false) > > rss.items.each do |item| > converted = `'#{item.title}' | iconv -c -f ISO-8859-1 -t UTF8` > puts(Iconv.conv('ISO-8859-1', 'UTF-8', item.title)); puts " " > end > -- > Posted viahttp://www.ruby-forum.com/. Not sure about the error, but I see two issues. First, this is an error... `'#{item.title}' | iconv -c -f ISO-8859-1 -t UTF8` I think you meant to echo the vale to the pipe... `echo -n '#{item.title}' | iconv -c -f ISO-8859-1 -t UTF8` Second, iso-8859-1 to utf-8 doesn't appear to be the proper encoding. The following string... Düsseldorf: Prominentengedrängel bei der Bambi-Verleihung ...is encoded as... "D\303\203\302\274sseldorf: Prominentengedr\303\203\302\244ngel bei der Bambi-Verleihung" ...by iconv from the command prompt. But it should be... "D\303\274sseldorf: Prominentengedr\303\244ngel bei der Bambi- Verleihung" I'm not good with encodings and utf-8, so I can't tell you the problem. I just know "umlaut u" should be 0xc3bc (\303\274), but it's not doing that. Regards, Jordan