Freigeben über


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

  1. Klicken Sie im Menü Extras auf Optionen.

  2. Wählen Sie die Registerkarte Daten aus.

  3. 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

  1. Stellen Sie sicher, dass die automatische Codepageprüfung aktiviert ist (siehe vorhergehende Verfahrensbeschreibung).

  2. Öffnen Sie die Datei.

    Falls die Datei keine Codepagemarkierung enthält, wird das Dialogfeld Codepage angezeigt.

  3. Wählen Sie die passende Codepage aus.

  4. 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.

  5. Ist es die falsche Codepage, entfernen Sie die Codepagemarkierung mit dem CPZERO-Programm, das Sie im Visual FoxPro-Verzeichnis Tools\Cpzero finden.

  6. 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