Einzelnen Beitrag anzeigen

madas

Registriert seit: 9. Aug 2007
207 Beiträge
 
#7

AW: Firebird Character Set ändern

  Alt 2. Feb 2018, 07:29
In rdb$database ist nur der Default Charset hinterlegt, der wird bei neuen Tabellenfeldern genommen, wenn
nicht explizit was anderes angegeben wird. Das hat aber keinerlei Einfluß auf bereits existierende Tabellen.

Wir machen das immer so:

1. Datenbank mit geeignetem Tool in ein Script exportieren mit Metadaten, Daten und auch Blobs (geht z.B. in der
IBExpert Vollversion). Charset Angaben nicht exportieren bzw. per suchen/ersetzen löschen.
2. Eine neue UTF8 DB anlegen
3. Das in 1. erzeugte Script mit dem alten Charset (oder bei NONE trotzdem ISO8859_1) an die UTF8 DB
connecten und ausführen. Dabei übernimmt Firebird selber die Konvertierung aller benutzten Sonderzeichen
in geeignete UTF8 Zeichen.
4. Evtl. Limitierungen werden zu Fehlern führen, z.B. char oder varchar deklarationen länger als 8191
Diese falls vorhanden im Script ersetzen und noch mal probieren. der Vorgang kann mit ibec_extract_metadata
in ibexpert auch per script automatisiert werden, wenn man das für mehrere Kunden/DB braucht
Muss solche eine ISO8859_1 DB für die Verwendung in D2009 mit UIB zwingend so konvertiert werden? Oder reicht es wenn man beim Connect das Client CharSet auf "None" setzt bzw. könnten durch das setzen auf "None" irgend welche Probleme auftreten?

madas
  Mit Zitat antworten Zitat