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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.