conversioni in utf-8

L'altro giorno mi sono trovato nella situazione di inserire del vecchio materiale che avevo scritto nel mio sito web. Nel far il rendering delle pagine, ikiwiki mi ha segnalato numerosi errori relativi alla codifica utf-8. Al termine del processo le pagine generate erano orrendamente prive di contenuto.

Indagando un po', mi sono reso conto che il problema era originato dalla presenza dei lettere accentate italiane; andavano rimosse e sostituite con le relative codifiche html.

Ho buttato giù due righe in perl per automatizzare il lavoro:

#!/usr/bin/perl
#
# Replace italian accents with html alternates

open STDIN, '-';

while (<STDIN>) {
        s/&agrave;/\&agrave\;/g;
        s/&egrave;/\&egrave\;/g;
        s/&igrave;/\&igrave\;/g;
        s/&ograve;/\&ograve\;/g;
        s/&ugrave;/\&ugrave\;/g;
        print;
}

Notate che non sono presenti accenti acuti... so di essere un barbaro ma per semplicità non li uso.

Con il seguente comando:

for i in *.mdwn; do cat $i | htmlize.pl > $1; done

sono riuscito a sistemare il contenuto dei file in meno di un minuto (htmlize.pl è il nome che ho dato allo script di cui sopra).

Per chi invece avesse necessità di fare conversioni da diverse codifiche in utf-8 - ma non solo - suggerisco l'utility tcs. Semplice quanto comoda... (attenzione che non supporta la codifica iso-8859-15; ovvero niente simbolo dell'euro).

Filed under geek perl tools web

glider [ minitrack ] ikiwiki Creative Commons VIM powered