From: Antonio Mat Date: 2006-08-19T04:04:03+09:00 Subject: Re: `cmd` and UTF-8 Paul Battley wrote: > On 18/08/06, Antonio Mat wrote: >> I have spent several hours searching for this and I still don't know how >> it works. >> >> How is `cmd` string encoded? I want it in UTF-8, but I don't know how to >> do it! >> I have tried with $KCODE = 'u' but it doesn't works. >> My Ruby version is 1.8.2 > > Do you mean the return value? That depends on your platform, locale, > and, possibly, the program itself. If you know the encoding, you can > use Iconv to convert it to UTF-8: > > require 'iconv' > s = `some cmd` # returns a string in iso-8859-1, for example > iconv = Iconv.new("utf-8", "iso-8859-1") > iconv.iconv(s) # => string in UTF-8 > > Perhaps you could post a sample of code to show what you are trying to > do. It's easier to solve a concrete problem than to read minds. Yes, I mean the return value. I can't use Iconv because the script should work with any locale. This is the code: require 'rexml/document' [...] include REXML @atom = Document.new entry = Element.new 'entry' entry.attributes['xmlns'] = 'http://www.w3.org/2005/Atom' @atom.elements << entry @atom << XMLDecl.new e = Element.new 'title' e << Text.new(`dcop amarok player title`) entry << e XML tag text should be in UTF-8. Thank you. -- Posted via http://www.ruby-forum.com/.