From: =?ISO-8859-1?Q?Une_B=E9vue?= on
I need to convert a String from UTF-8 to MacRoman, MacRuby makes use of
a "special" iconv.rb.

When doing a Mac Roman to UTF-8 converions no prob however when doing
reversal from UTF-8 to MacRoman the String is still in UTF-8.

Here is my code :
puts "UTF-8 back to MacRoman :"
mcr = Iconv.iconv('macintosh', 'utf-8',
puts "#{mcr.size} chars, #{mcr.encoding}"

giving :
# => 34 chars, UTF-8

the icon.rb file (from MacRuby) being :
def iconv(str, start=0, length=-1)
# Not sure if it's the right thing to do...
data = CFStringCreateExternalRepresentation(nil, str, @to_enc, 0)
if data.nil?
raise "can't retrieve data from `#{str}'"
dest = CFStringCreateFromExternalRepresentation(nil, data, @to_enc)
if dest.nil?
raise "can't convert data from `#{str}'"

which seems to work from "some encoding" to UTF-8 but not the reverse...

I'd like to help the designer but i'm lost in Apple's documentation
about CFStringxyz !
� Si l'on sait exactement ce qu'on va faire,
� quoi bon le faire ? �
(Pablo Picasso)