Angeben der Codepage einer DBF-Datei
Wenn Sie DBF-Dateien erstellen, weist ihnen Visual FoxPro automatisch Codepagemarkierungen zu. Verwenden Sie jedoch DBF-Dateien aus früheren FoxPro-Versionen, enthalten diese möglicherweise keine Codepagemarkierungen.
Sie können feststellen, ob eine DBF-Datei eine Codepagemarkierung enthält, indem Sie entweder nach dem Öffnen der Datei die CPDBF( )-Funktion verwenden oder indem Sie Visual FoxPro diese Prüfung beim Öffnen der Datei automatisch durchführen lassen.
So überprüfen Sie automatisch auf Codepagemarkierungen
Klicken Sie im Menü Extras auf Optionen.
Wählen Sie die Registerkarte Daten aus.
Aktivieren Sie das Kontrollkästchen Zur Eingabe der Codepage auffordern, sofern es noch nicht aktiviert ist.
Wenn Sie diese Einstellung für künftige Visual FoxPro-Sitzungen speichern möchten, wählen Sie Als Standardeinstellung verwenden.
Tipp Statt das Kontrollkästchen Zur Eingabe der Codepage auffordern zu aktivieren, können Sie eine DBF-Datei auch mit dem SET CPDIALOG-Befehl auf Codepages überprüfen.
Wenn eine Datei keine Codepagemarkierung enthält, müssen Sie eine Markierung entsprechend der Beschreibung im folgenden Abschnitt hinzufügen.
Hinzufügen von Codepagemarkierungen
Wenn Sie eine DBF-Datei aus einer früheren FoxPro-Version verwenden, verfügt diese Datei möglicherweise nicht über eine Codepagemarkierung, daher kann es sein, dass die Datei nicht korrekt angezeigt wird. Wenn die automatische Codepageprüfung aktiviert ist, sehen Sie nach dem Öffnen der Datei, ob diese eine Codepagemarkierung enthält. Ist keine Markierung vorhanden, können Sie eine hinzufügen.
So fügen Sie manuell zu einer DBF-Datei eine Codepagemarkierung hinzu
Stellen Sie sicher, dass die automatische Codepageprüfung aktiviert ist (siehe vorhergehende Verfahrensbeschreibung).
Öffnen Sie die Datei.
Falls die Datei keine Codepagemarkierung enthält, wird das Dialogfeld Codepage angezeigt.
Wählen Sie die passende Codepage aus.
Sehen Sie sich in der Datei an, ob Sie die richtige Codepage zugewiesen haben.
Wenn einige Daten nicht angezeigt werden oder nicht erkannt werden können, wurde die falsche Codepage zugewiesen.
Ist es die falsche Codepage, entfernen Sie die Codepagemarkierung mit dem CPZERO-Programm, das Sie im Visual FoxPro-Verzeichnis Tools\Cpzero finden.
Wiederholen Sie diesen Vorgang, bis die richtige Codepage zugewiesen ist.
Anmerkung Textdateien, wie Programm- und Abfragedateien (PRG bzw. QPR), enthalten keine Codepagemarkierungen. Daher können Sie nicht sehen, welche Codepages die Dateien verwenden. Wenn Sie solche Dateien jedoch in ein Projekt einbinden, behält das Projekt ein Protokoll der verwendeten Codepages bei. Weitere Informationen finden Sie unter Angeben der Codepage einer Textdatei.
Entfernen von Codepagemarkierungen
Wenn eine DBF-Datei nicht korrekt angezeigt wird, enthält sie möglicherweise die falsche Codepagemarkierung. In einem solchen Fall können Sie die Codepagemarkierung mit dem im Visual FoxPro-Verzeichnis Tools\Cpzero gespeicherten Programm CPZERO entfernen. Durch das Ausführen von CPZERO wird für die Codepage 0 ("Keine") festgelegt.
So entfernen Sie eine Codepagemarkierung
Führen Sie CPZERO mit folgender Syntax aus:
DO CPZERO WITH "filename", 0
Anmerkung Wenn Sie die Codepagemarkierung einer DBF-Datei entfernen, bleiben die Daten in der Datei unverändert erhalten. Zum Ändern der Codepage für die Daten müssen Sie die Datei mit der passenden Codepage markieren.
Ändern von Codepagemarkierungen
Sie können die Codepage einer DBF-Datei ändern, indem Sie deren Markierung entfernen und dann eine neue hinzufügen, indem Sie die Datei in eine andere Datei kopieren, oder indem Sie das Programm CPZERO verwenden.
So ändern Sie die Codepage einer DBF-Datei durch Kopieren der Datei
Verwenden Sie den COPY TO-Befehl, und geben Sie die gewünschte Codepage mit der Klausel AS an. (Wenn Sie die aktuelle Systemcodepage festlegen möchten, lassen Sie die Klausel AS weg.)
Wenn Sie zum Beispiel Test.dbf in Test866.dbf kopieren und dabei die Codepage auf 866 ändern möchten, verwenden Sie die folgenden Befehle:
USE TEST.DBF COPY TO TEST866.DBF AS 866
Nach der Beendigung von COPY TO enthalten die Daten in der Zieldatei die neue Codepage.
So ändern Sie die Codepagemarkierung mit "CPZERO"
Führen Sie CPZERO mit folgender Syntax aus:
DO CPZERO WITH "filename", newCodepage
Anmerkung Einige Zeichen können bei der Codepageumwandlung nicht erfolgreich umgesetzt werden. Darüber hinaus werden auch einige Codepagesetzungen nicht von Visual FoxPro unterstützt. Sie sollten daher die Ergebnisse einer Codepageänderung immer prüfen, um sicherzugehen, dass die Daten korrekt umgewandelt wurden.
Siehe auch
Codepages in Visual FoxPro | Angeben der Codepage einer Textdatei | Entwickeln internationaler Anwendungen | Ermitteln der Codepage einer Projektdatei | Angabe von Codepages für Variablen