Konvertieren einer Tabelle aus Libreoffic zu dbase

Ich möchte eine strukturierte Tabelle aus LO 7.1 in eine dbase-Datenbank überführen.

Mein letzter Versuch verlief so:
die Quelle hatte ich als .ods - Datei vorliegen
Ich speicherte sie als .dbf Datei ab, wobei ich auf die Frage nach dem Zeichensatz “UTF-8”, der ja Standard ist,angab.
Dafür hatte ich ein Verzeichnis eingerichtet, wo auch der Datenbankcontainer war, der die dBASE-Datei beherbergte.

Nachdem aber ich die neu angemeldete Datenbank angemeldet hatte, öffnete ich die .odb Datei. Die Tabelle enthielt allerdings eine fehlerhafte Umsetzung der Umlaute und Sonderzeichen, so dasß ich mit der Datei nicht viel anfangen konnte.

Wie muß ich denn die Quelldatei “präparieren” ,damit in der .odb - Datei die neue DBASE-Datei korrekt aussieht ?

Ich glaube eher, dass die .dbf korrekt mit UTF-8 geschrieben wurde, aber die bereits existierende .odb (wenn ich das richtig verstanden habe, hast du die .dbf dieser untergeschoben) darauf nicht ausgerichtet ist. Also entweder .odb neu erstellen, oder rausfinden was diese als Zeichensatz/Textencoding benutzt und die .dbf entsprechend speichern. Verbreitet/default ist IBM_850 wenn nichts anderes angegeben.

Im Menü unter Datenbank kann man die Eigenschaften und auch erweiterte Eigenschaften anwählenund dort einsehen und auch teilweise ändern, welcher Zeichensatz verwendet wird.

Aber wie in obiger Antwort schon angedeutet: Es kann nur einen Zeichensatz pro Datenbank geben und die Angabe verändert nur die Interpretation, konvertiert nicht die Daten.

UTF8 habe ich nie mit Dbase probiert, da der Standard eigentlich älter als Multi-Byte Zeichensätze ist und dies nicht kennt. Europäische dbase-Versionen enthalten teilweise ein Byte zur Zeichensatzcodierung, aber ich kenne keinen Code für UTF8.

J.

Die Codepage-Kennung existiert ab dBaseIV und kennt in der Tat kein UTF-8. Calc speichert allerdings im dBaseIII Format ohne jegliche Kennung, sonst ginge UTF-8 gar nicht.

UTF-8 funktioniert in dem Fall, solange alle beteiligte Software das beherrscht und eine stillschweigende Uebereinkunft besteht. Man muss halt daran denken, dass Umlaute etc. 2 Zeichen lang sind und generell ein Unicode Zeichen in bis zu 4 UTF-8 Zeichen kodiert werden kann, also Felder mit entsprechender Laenge definiert werden muessen, bzw. ggf. weniger Zeichen in eine vorgegebene Laenge passen.

Um auf der sicheren Seite zu sein wie gesagt DOS/OS2-850 nehmen, fuer die meisten zentraleuropaeischen Sprachen ausreichend.