11.12. Konwersja dokumentu między różnymi standardami kodowania

Podziękowania dla Mauro Cicio

Problem

Chcemy przekonwertować dokument do innego standardu kodowania (prawdopodobnie UTF-8).

Rozwiązanie

Jeśli aktualny standard kodowania zastosowany w dokumencie nie jest znany, należy przeprowadzić jego autodetekcję za pomocą biblioteki Charguess (w sposób opisany w poprzedniej recepturze). Gdy standard ten okaże się wiadomy, można go przekonwertować na inny, używając biblioteki iconv języka Ruby.

Oto przykładowy dokument zakodowany w języku włoskim:

doc = %{<?xml version="1.0"?>
     <menu tipo="specialità" giorno="venerdì">
    <primo_piatto>spaghetti al ragù</primo_piatto>
       <bevanda>frappè</bevanda>
     </menu>}

Dokonajmy autodetekcji użytego standardu ...

Get Ruby. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.