Seite 1 von 1

Text unbekannter Formatierung umwandeln

Verfasst: Sonntag 14. Dezember 2008, 18:53
von vorlautboy
Servus Leute!

ich hab da folgendes problem: ich will werte aus einer datenbank (.mdb-format; nicht von mir erstellt) auslesen und in meinem eigenen programm verwenden. ich habe die tabelle schon in eine .csv datei exportiert, jedoch erhalte ich nicht die gewünschten zeichen. das programm, das eigentlich auf die datenbank zugreift, kann die zeichen jedoch richtig interpretieren, dazu liegt die datei "UT Greek Traditional Times Bold.ctf" im verzeichnis. kennt jemand diese codierung bzw. weiß jemand wie man die zeichen mithilfe der .ctf datei selbst umwandeln kann?

Verfasst: Montag 15. Dezember 2008, 21:49
von Dauerbaustelle
äh, das ist keine codierung, sondern eine Schriftart. Erkennbar auch für Laien an 'Times' und 'Bold'. :)

Verfasst: Montag 15. Dezember 2008, 22:05
von cofi
.ctf | code translation | Symphony Character code

Das hört sich schon sehr nach Kodierung an, aber das klingt für mich auch recht komisch.

Da das wohl ein ziemlich proprietäres Ding ist, wär es wohl besser, wenn du erklärst was das genau sein soll.

Verfasst: Montag 15. Dezember 2008, 22:19
von Hyperion
Das hört sich ganz klar nach einem Font an! Irgend wie werden da zwei Sachen miteinander vermengt ... ein Font dient ja nur der grafischen Dratsellung, eine Codierung dient der Repräsentation von Zeichen.

Der Autor sollte mal evtl. ein Fragment hier reinstellen oder zumindest mal posten, welche "Zeichen" er denn erhält!

Evtl. wandelt er das ganze ja auch in eine falsche Codierung, die eben solche Zeichen nicht darstellen kann. Afaik müßte dann doch utf-8 die richtige Wahl sein? Damit sollte doch alles darstellbar sein, das es so gibt.

Was bleibt ist, rauszubekommen mit welcher Zeichencodierung die DB arbeitet (bzw. die Tabelle) und diese dann entsprechend einzulesen und in Unicode zu wandeln. Daraus kann man dann halt utf-8 machen oder sonst was.

Verfasst: Montag 15. Dezember 2008, 22:59
von vorlautboy
bei der datei glaube ich auch eher, dass es sich um ein font handelt. aber das scheint auch nicht das problem zu sein.

das programm (nicht mein programm) liest eben die werte aus der datenbank aus (ascii codiert), und interpretiert die 8-bit werte als buchstaben. wenn ich mir die spalten im editor anschaue, dann stimmen alle mit der ausgabe des programms überein, bis auf eine, die nur wirre und sinnlose zeichenfolgen beinhaltet. diese spalte wird vom programm offensichtlich anders interpretiert, als die restlichen spalten. es muss die 8-bit werte in dieser spalte ja schließlich als griechische buchstaben deuten, die werte aus den andern spalten hingegen werden so ausgegeben wie sie auch im editor stehen(ascii-ascii).

Verfasst: Dienstag 16. Dezember 2008, 12:28
von helduel
ctf sind ClearType-Fonts.

Ansonsten: Wenn es sich wirklich um ein griechisches 8-bit-Encoding handelt, könnte es sich im ISO-8859-7 handeln. Probiers mal aus.

Gruß,
Manuel

Verfasst: Dienstag 16. Dezember 2008, 14:20
von vorlautboy
dann siehts wohl so aus, als ob die .ctf datei für die richtige ausgabe zuständig ist, also dass bspw. einem á in der spalte bei der ausgabe ein alpha zugeordnet wird.

wie kann ich .ctf dateien selbst in mein programm einbinden? wie zeichne ich die buchstaben?

Verfasst: Dienstag 16. Dezember 2008, 14:42
von helduel
vorlautboy hat geschrieben:dann siehts wohl so aus, als ob die .ctf datei für die richtige ausgabe zuständig ist, also dass bspw. einem á in der spalte bei der ausgabe ein alpha zugeordnet wird.

wie kann ich .ctf dateien selbst in mein programm einbinden? wie zeichne ich die buchstaben?
Nö, das ist nur ein Font. Wenn du eine graphische Oberfläche bastelst, dann kannst du je nach Toolkit den Font irgendwo einstellen. Dazu muss du halt die Doku lesen.

Wenn du mit den Daten arbeiten willst, dann dekodiere sie nach Unicode. Um die Daten nach Unicode zu bekommen, muss du wissen, wie das Encoding ist. ISO-8859-7 könnte passen - muss aber nicht. Am besten, du fragst, denjenigen, der die DB erstellt hat.

Gruß,
Manuel

Verfasst: Donnerstag 18. Dezember 2008, 21:00
von vorlautboy
helduel hat geschrieben:Um die Daten nach Unicode zu bekommen, muss du wissen, wie das Encoding ist. ISO-8859-7 könnte passen - muss aber nicht.
jop. das hatte ich auch schon versucht. war aber irgendein exotisches (oder vom autor selbst entworfenes) encoding. ich hab mir jetzt von hand ein lookup-dict zur konvertierung nach utf-8 erstellt.