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.