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
 

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