Konvertera filer från ISO-8859-1 till UTF-8

Inledning

Många webbsidor är fortfarande teckenkodade i ISO-8859-1. Om du vill konvertera all text i en fil från ISO-8859-1 till UTF-8 kan du använda verktyget iconv som är inkluderad i de flesta Linux-distributioner.

Instruktioner

Testa detta kommando:

$ iconv -f iso-8859-1 -t utf-8 fil1 > fil2

Nedanstående skript förenklar det hela. Om det körs utanför den katalog som ska konverteras $ ./iconvall.bash www/ kommer det att skapa en katalogen utf8.www i samma katalog som www. I denna är alla PHP-, JS-, CSS-, HTML- och TXT-filer konverterade, medan alla andra filer endast kopieras och katalogstrukturen behålls.

Skriptet publiceras som ett exempel. Testa det och ändra det efter dina behov, men kom ihåg att alltid ha en backup tillgänglig innan du kör det.

#!/bin/bash
if [ $# -ne 1 ]
then
        echo "Script requires on argument, the folder to be converted from iso to utf."
        exit
fi

mkdir utf8.$1
cd utf8.$1
(cd ../$1; find -type d ! -name .) | xargs mkdir
cd ..
for i in `find $1 -type f -print`;
do
            #converts textfiles
            #echo "finns ej: utf8.$i";
            if [[ $i == *.php ]] || [[ $i == *.js ]] || [[ $i == *.css ]] || [[ $i == *.html ]] || [[ $i == *.txt ]]
            then
            echo "[CONVERT]: $i";
            iconv -f ISO-8859-1 -t UTF-8 $i -o utf8.$i;
            else
                echo "[COPY]: $i";
                cp $i utf8.$i
            fi
done

Hittar du inte det du söker?

Kontakta oss gärna för mer information. Vi hjälper dig att komma fram till den bästa lösningen för dina behov.

Skicka e-post Ring 0200-23 88 00