Comment faire pour convertir en UTF-8 en ISO-8859-1 en Ruby 2.0?

Fuseaux horaires de (date)-temps et codant pour les chaînes ne sont pas un problème si vous ne disposez pas de faire la conversion entre eux. En Ruby 1.9 et 2.0, de l'encodage semblent être les nouveaux fuseaux horaires à partir d'anciennes versions Rubis, ils provoquent rien que des ennuis. Iconv a été remplacé par l'encodage natif fonctions. Comment voulez-vous convertir le standard UTF-8 à ISO-8859-1, par exemple pour l'utilisation dans les systèmes Windows? Dans le Ruby 2.0 de la console de la coder la fonction ne fonctionne pas, même si elle doit être en mesure de convertir à partir d'une source d'encodage vers une destination à l'encodage via encode(dst_encoding, src_encoding) → str?

>> "ABC äöüÄÖÜ".encoding
=> #<Encoding:UTF-8>
>> "ABC äöüÄÖÜ".encode("UTF-8").encode("ISO-8859-1")
=> "ABC \xE4\xF6\xFC\xC4\xD6\xDC"
>> "ABC äöüÄÖÜ".encode("ISO-8859-1","UTF-8")
=> "ABC \xE4\xF6\xFC\xC4\xD6\xDC"

Je suis à l'aide de Ruby 2.0.0 (Révision 41674) sur un système linux.

Quel est le problème? "ABC äöüÄÖÜ".encode("ISO-8859-1","UTF-8") convertit en UTF-8 pour le Latin-1 et renvoie le Latin-1 chaîne, "ABC äöüÄÖÜ" est déjà en UTF-8 donc le deuxième argument de encode n'est pas pertinent. Qu'attendez-vous "ABC äöüÄÖÜ".encode("ISO-8859-1","UTF-8") faire et comment est votre attente différente de ce qui arrive?
La chaîne "ABC \xE4\xF6\xFC\xC4\xD6\xDC" ne ressemble pas à un texte en cours de validité avec codant pour moi, ou est-il? Au moins les caractères spéciaux ne s'affichent pas correctement. Le but était de convertir des chaînes UTF-8 pour une importation Excel. Jusqu'à présent, il ne semble pas bien fonctionner. L'idée était de savoir si j'ai réussi à convertir en UTF-8 en ISO-8859-1, puis Excel importation et l'affichage des textes sur Windows.
C'est un codage Latin-1 chaîne affichée dans un format UTF-8 d'un terminal.

OriginalL'auteur 0x4a6f4672 | 2013-10-09