Umlaute in schueler.txt

Abend auch,

ich hab hier eine Uraltlinuxmuster (4 oder so) und eine 6.2er, die ich gerade parallel einfuehre.

Ein sophomorix-check auf der 6.2 auf eine schueler.txt mit Umlauten in den Namen wirft mir jede Menge Fehler aus, die alte frisst das ohne zu murren.

Fehlerhafter Datensatz (Zeile: 14)

1BFI;A<96>zpinar;Hans;11.11.2000;

  • Unerlaubtes Zeichen im Nachnamen

In der schueler.txt steht hier diese Zeile:

1BFI;Özpinar;Hans;11.11.2000

Was tun?

Gruss Harry

Ich korrigiere mit der Suchen/Ersetzen-Funktion im Texteditor alle Umlaute und das ß. Das geht Ruckzuck.
Gruß
Roland

1 Like

Hi.
Wenn du die Datei per ssh + Bash bearbeiten willst, kannst du dieses Script benutzen:

#!/bin/bash
#Umlaute, Leerstellen und Bindestriche aus der angehängten Datei entfernen:
#set -x 

filename="${0##*/}"
scriptpath=`pwd -P`

if [ -z "$1" ]
  then
    echo "Syntax: $scriptpath/$filename <DATEINAME.TXT>"
    exit 0;
fi

cp $1 $1.bak               # safety first
sed -i -e 's/\Ä/Ae/g' \
    -i -e 's/\ä/ae/g' \
    -i -e 's/\Ö/Oe/g' \
    -i -e 's/\ö/oe/g' \
    -i -e 's/\Ü/Ue/g' \
    -i -e 's/\ü/ue/g' \
    -i -e 's/\ß/ss/g' \
    -i -e 's/-//g'    \
$1 

#    -i -e 's/\s//g'   \ # Leerzeichen werden entfernt!

hth,
Michael

1 Like

Hallo Harry,

sophomorix-check --encoding-students utf8

oder andere encodings. Kann man auch mit libreoffice öffnen und als .csv abspeichern, dabei kann man das encoding wählen. UTF8 ist gut.

evtl. nach less pipen und Fehler angucken. Geht bei mir gut. Dann die sed-commands für die Klassen

cat Schuelerliste_2014-2015w.csv | sed ’
s#([0-9])A#\1a#g
s#([0-9])B#\1b#g
s#([0-9])C#\1c#g
s#([0-9])D#\1d#g
s#([0-9])E#\1e#g
s#^11#J1#g
s#^12#J2#g
s#%##g’ > schuelerw.txt

siehe auch http://www.linuxmuster.net/wiki/dokumentation:sophomorix:guess_encoding

LG
Max

2 Like

Hallo Harry!

Das Problem ist die Quelle deiner Daten. Du musst als erstes herausfinden welches Encoding du da raus bekommst. Am besten die csv wie du sie erhälst mit LibreOffice Calc öffnen. Im Import-Wizard kannst Du dann die verschiedenen Encodings ausprobieren.

Dann mit dem schon genannten

sophomorix-check --encoding-student

das encoding festlegen. Das kannst du auch dauerhaft machen, siehe

man sophomorix-check

 --encoding-students encoding, --encoding-students-extra encoding, --encoding-courses-extra encoding, --encoding-teachers encoding,

verarbeitet die einzulesenden 4 Dateien in einer bestimmten Zeichencodierung.
Standard ist ISO 8859-15. Mögliche Optionen sind ascii, 8859-1, 8859-15, win1252, utf8.
Bei Verwendung der Option utf8 werden nicht alle möglichen Zeichen unterstützt.
Will man das encoding dauerhaft festlegen kann man in sophomorix.conf die gleich wie die Optionen lautenden Variablen setzen, z.B.
$encoding-students="8859-1";
oder
$encoding-courses-extra="utf8";

Dann sollte sich auch diese Installation gleich verhalten wie die andere.

Beste Grüße

Thorsten

2 Like

Hi irrlicht,

schließe mich den Vorgängern an. Bei mir sind auch immer alle Umlaute und co drin.
Als ich noch den Export aus SVP eingelesen habe, habe ich immer mit

iconv -f ISO_8859-15 -t UTF-8 $input -o $input.utf8

die Input-datei nach UTF-8 konvertiert. Ebenso steht bei mir in sophomorix.conf jetzt das encoding auf utf-8, so dass das zusammenpasst.

Du solltest eventuell einmal den output von obigem Befehl testen, weil wenn sich unterschiedliche encodings eingeschlichen haben sollten, dann wird das kein script das ich kenne ordentlich machen (z.B. wenn du von iso8859 nach utf8 konvertierst, aber ein zeichen schon in utf8 war, dann wird es hinterher Á? oder so heißen.)

VG, Tobias

Ok, dank Euren Postings konnte ich das Problem loesen.

Die CSV-Datei aus Magellan hatte ein paar Umlaute/SZ, die bei ISO8859-1 falsch dargestellt/konvertiert/importiert wurden, mit utf8 sehen diese alle gut aus.

Gruss Harry

Wenn man bei iconv die Option -t ASCII//TRANSLIT angibt, werden die Umlaute etc. auch gleich ersetzt.

Andreas

Hi Andreas,

das will ich gar nicht. Das macht sophomorix für mich. Und ich finde es eher schade, dass die Sonderzeichen rausfliegen. Ich wünschte mir für die neue Version, dass die Schüler ihre Sonderzeichen behalten. Die usernamen dürfen gerne konvertiert sein, aber für die Schülerlisten und die Anzeige in “Gecos” hätte ich gerne Jérôme oder “András Béla Péter Hubert Esterházy de Galantha” aus “Želiezovce”. Ich finde das nur “artgerecht”.

Man müsste aber die TRANSLIT Variante auch mit abspeichern, damit eine Suche nach “esterhazy” auch zum Ziel führen kann.

VG, Tobias