Zeichensatz von Dateien unter Debian ändern

Wenn Dateien von Windows auf einen Linuxserver (oder OS mit UTF8) kopiert werden, kann es vorkommen dass Umlaute und Sonderzeichen falsch dargestellt werden.

Ich hatte das Problem mit Exporten einer SQL Datenbank. Beim Importieren in eine MySQL Datenbank wurden trotz aller Charseteinstellungen auf UTF8 die Umlaute falsch dargestellt.
Das liegt daran, dass die Dateien von Windows (oder der Datenbank) als CP1252 codiert waren. Mit folgendem Batchscript können alle Dateien eines bestimmten Ordners von C1252 in UTF8 umgewandelt werden.

FROM=CP1252
TO=UTF-8
ICONV="iconv --from-code=$FROM --to-code=$TO"
find /path/to/folder/ -type f -name "*" | while read fn; do
cp ${fn} ${fn}.bak
$ICONV < ${fn}.bak > ${fn}
rm ${fn}.bak
done

Wer nur eine einzelne Datei konvertieren will, kann folgenden Befehl ausführen:

iconv --from-code=CP1252 --to-code=UTF-8 wrongcharacter.txt > utf8character.txt

2 Kommentare zu „Zeichensatz von Dateien unter Debian ändern“

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert