.dbf und umlaute

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
gtown
Beiträge: 2
Registriert: 17.01.2008 16:42:35

.dbf und umlaute

Beitrag von gtown » 17.01.2008 17:00:23

Hallo,
habe folgendes Problem, ich möchte eine dbase datei in die mysql speichern, das ganze automatisiert durch ein shell-script und cron... soweit so gut ... benutze dafür schon dbf2mysql, was eigentlich auch ganz gut funktioniert, allerdings das schon oft erwähnte problem mit den umlauten. Die .dbf ist in Dos-850 gespeichert. In der Mysql Verwende ich UTF-8.
gegoogelt hab ich schon.
Habe es mal mit recode versucht, die datei umgewandelt, aber dann schreibt mir dbf2mysql nur leere zeilen in die MySQL.
Das Selbe Problem mit Iconv, dort sehe ich aber deutlich, wenn ich das ergebnis auf den Bildschirm ausgebe, das die umlaute umgewandelt wurden.
Ich schätze mal das bei beiden methoden nicht nur die umlaute geändert werden, sondern auch die trenner für spalten und zeile.
Kann ich das irgendwie übergehen?

Hier mal mein aktuelles Skript:

Code: Alles auswählen

echo Wandele Zeichensatz von 1.dbf um und Speichere sie als 2.dbf...
iconv -c -o 2.dbf -f 850 -t UTF-8 1.dbf
echo OK
echo Lösche alte Daten aus MySQL-DB OSCommerce...
RESULT="TRUNCATE TABLE $MYSQL_TABLE"
$MYSQL_BIN -h$MYSQL_HOST -u$MYSQL_USER -p$MYSQL_PASSWORD -D$MYSQL_DATABASE -e "$RESULT"
echo OK
echo Speichere neue Daten in MySQL-DB OSCommerce...
dbf2mysql -h$MYSQL_HOST -d$MYSQL_DATABASE -t$MYSQL_TABLE -P$MYSQL_PASSWORD -U$MYSQL_USER 2.dbf
echo OK
Danke im Voruas!

gtown
Beiträge: 2
Registriert: 17.01.2008 16:42:35

Beitrag von gtown » 18.01.2008 09:29:59

:idea:
Ich hab eine Lösung gefunden ... Ich lese die Daten sowieso mit einer PHP aus, dort ändere ich dann diese mithilfe von iconv, und speichere sie neu in der DB ab ...
z.b:

Code: Alles auswählen

$DATUM      = iconv("850", "ISO-8859-1", $row->Datum);
Denoch ... vielen Dank

Antworten