Konvertera till och från UTF-8 med iconv



  • Iconv

    Olika filer har olika teckenkodning och du kan se vilken kodning du har med kommandot file.

    file filenamn.txt
    

    Om du behöver konvertera en fil från ISO-8859-1 till UTF-8 så kan du använda iconv. Iconv är ett datorprogram och ett standardiserat programmeringsgränssnitt (API) som används för att konvertera mellan olika teckenkodningar.

    iconv -f iso-8859-1 -t utf-8 < filnamn1.txt > filename2.txt
    

    Man kan även bygga script som convert_iso-8859-1_utf-8.sh för att utföra olika saker med iconv.

    #!/bin/bash
    
    if [ $# -gt 0 ]; then
        folder=${1%/}
        if [ -d "$folder.backup" ]; then
            echo "Error: backup folder exists"
            exit
        fi
        cp -r $folder $folder.backup
        find $folder -type f -exec bash -c '
            file={}
            if [ -n "$(file $file | grep -i iso-8859)" ]; then
                echo $file
                iconv -f iso-8859-1 -t utf-8 -o "$file.tmp" "$file"
                mv "$file.tmp" "$file"
            fi ' \
        \;
    else
        echo "Usage: $0 <directory>"
    fi
    

    Tänk på att du kan använda iconv för att konvertera en teckenkodning till vilken annan teckenkodning som helst. Detta är mycket användbart om du frågar mig ;) Ta alltid backup på alla filer innan du kör skript!


Logga in för att posta
 

Jenkler IT AB org.nr: 559082-6938   073-731 76 64   [email protected]

Ser ut som din anslutning till Jenkler IT AB gick förlorad, vänta medan vi försöker att återansluta.