11.11. Autodetekcja standardu kodowania znaków w dokumencie

Podziękowania dla Mauro Cicio

Problem

Chcemy poznać standard kodowania znaków narodowych w dokumencie, który standardu tego nie podaje explicite.

Rozwiązanie

Należy wykorzystać bindowanie języka Ruby do biblioteki libcharguess. Gdy tylko zostanie ona zainstalowana, jej używanie jest bardzo proste.

Oto przykładowy dokument w języku włoskim, bez jawnej informacji o zastosowanym kodowaniu:

doc = %{<?xml version="1.0"?>
     <menu tipo="specialitŕ" giorno="venerdě">
    <primo_piatto>spaghetti al ragů</primo_piatto>
       <bevanda>frappč</bevanda>
     </menu>}

Spróbujmy zidentyfikować jego kodowanie:

require 'charguess'

CharGuess::guess doc
# => "windows-1252"

Wspaniale: w dokumencie tym zastosowano ...

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.