2009-04-07 37 views
0

Ich habe eine Access 2003-Datenbank. Eine Tabelle hat ein Memo-Feld und ich habe Probleme mit dem Abrufen dieser Daten.MS Access-Feld exportieren und Unicode konvertieren

  • das Feld Exportieren in eine txt oder csv Koteletts, die (255 Zeichen)
  • Exportieren als Excel gibt mir seltsame Zeichen für Zeilenumbrüche
  • Anfügen zu einer MySQL-Datenbank über myodbc Feld off gibt eine Fehlermeldung über „falsche string“
  • VBA mit Scripting.FileSystemObject funktioniert nicht, wenn Sie es sagen, die Datei als Unicode zu erstellen, die in Ordnung ist, aber dann kann ich nicht die Datei in etwas umgewandelt bekommen kann ich importieren

In einigen meiner Daten sind Unicode-Zeichen enthalten. Es handelt sich nicht um eine Datenbank mit mehreren Zeilen. Die einzigen, die ich finden kann, sind schräge Zitate, die wahrscheinlich aus Word kopiert wurden. Fallenlassen ist in Ordnung; Die Informationen in den Feldern sind weiterhin verständlich.

Kann ich diese Unicode-Zeichen in ihre Äquivalente (ANSI? ASCII?) Konvertieren? Ich habe mich nicht sehr mit Codierungen beschäftigt.

Ich habe versucht, mit iconv zu spielen, aber ohne etwas über die Codierung zu wissen, hat es nicht wirklich geholfen.

Gerade jetzt, ich brauche Hilfe auf: - Umwandeln der Zeichen in meiner Datenbank, so dass sie nicht-Unicode-ish-ly exportieren - OR, die Unicode-Zeichen konvertieren, nachdem die Datei zu exportieren wurde.

+0

Wonach versuchen Sie es zu importieren, das Unicode nicht unterstützt? – JohnFx

+0

Ich benutzte Ruby, um es zu mysql zu laden. Ich exportiere nach YAML und benutze die Ruby on Rails Fixture Loader. Das Problem war beim Lesen der Datei in YAML wegen eines ungeraden Zeichens am Anfang der Datei. Vielleicht ist es ein Problem mit der YAML-Bibliothek. Ich weiß nicht. – wesgarrison

+0

Wie exportieren Sie? Haben Sie eine Exportspezifikation definiert? In Access 2003 erhalten Sie eine Dropdown-Liste mit allen üblichen Codierungen (Codepages), einschließlich Unicode UTF8. Auf diese Weise definieren Sie Ihr Memofeld mit einer Länge größer als 255 Zeichen. –

Antwort

1

Die Datei von Access/VBA erstellt in .xml ist UTF-16. Aus irgendeinem Grund gibt es ein Zeichen am Anfang der Datei, das die Ruby YAML-Bibliothek falsch analysieren verursacht hat.

iconv zur Rettung!

iconv -f UTF-16 -t ASCII -c utf_file.yml > ascii_file.yml 
-2

Export

+0

... die immer noch mit dem verrückten führenden Unicode-Zeichen exportiert. – wesgarrison

+0

Kannst du diesen Charakter in einem Kommentar veröffentlichen? – JeffO

+0

Ich kann nicht die Hälfte Kredit für mindestens mehr als 255 Zeichen bekommen? – JeffO

1

Wie exportieren Sie? Haben Sie eine Exportspezifikation definiert? In Access 2003 erhalten Sie eine Dropdown-Liste mit allen üblichen Codierungen (Codepages), einschließlich Unicode UTF8. Auf diese Weise definieren Sie Ihr Memofeld mit einer Länge größer als 255 Zeichen.

+0

Ich schreibe einzelne Zeilen in eine Textdatei mit FileSystemObject und writeln(). Wenn ich TransferText verwenden würde, dann wäre eine Exportspezifikation sicher der Weg. – wesgarrison

+0

Wohin führen Sie Ihren Code? Mit Zugriff? Wenn dem so ist, würde ich vorschlagen, dass Sie mit TransferText besser dran wären, gerade weil es die Probleme behandelt, die Sie haben. –