Umlaute und das OEM/DOS-Format (Cp437 / Cp850)
-
Hallo Leutz,
ich bin momentan dabei ein grösseres Projekt mit PocketPCs umzusetzen, bei dem Daten von einem PocketPC per GPRS an die Zentrale übermittelt werden.
In der Zentrale gibt es ein Tool (JAVA) auf dem Server, welches die Daten an unsere Datenbank anpasst und diese dann dorthin verschiebt (naja, zumindest fast).
Nun haben wir aber das Problem, dass diese Daten in der datenbank im OEM/DOS-Format erwartet werden. Leider generiert dieses JAVA-Tool aber diese Art Textdateien nicht.
Es werden lediglich normale ANSI-Txts rausgelassen, in dehnen man auch die Umlaute sehen kann. Doch beim Import in die Datenbank werden, dadurch dass die Datenbank ein anderes Format erwartet, diese anders interpretiert und die Umlaute in andere Zeichen umgewandelt.
Nun haben die netten Leute, welches dieses JAVA-Tool programmiert haben mir einen Parameter eingebaut, über den ich das Datenformat voreinstellen kann.
Nur leider ist JAVA leider dieses DOS-Format nicht bekannt, oder zumindest weiss ich nicht, wie ich dieses korrekt angebe.
Bei UTF8 bzw. 16 und den ISO-Formaten habe ich keine Probleme.Auf verschiedenen Webseiten werden die Codepage 437 und die 850 als Standards angegeben. Doch wenn ich dann Cp437 oder Cp850 angebe, kommt nichts raus.
Zur Generierung der Dateien wird in dem JAVA-Tool ein Objekt "OutputStreamWritter" genutzt, welches als Parameter ein Objekt vom Typ "FileOutputStream" und das Encoding übergeben bekommt.
Hat jemand eine Ahnung was ich da einstellen muß, oder welchen Tip ich den Programmierern geben könnte?
Zufällig programmiere ich auch ein wenig in C++ und habe mich auch bereits an JAVA versucht. Ihr könnt mir also ruhig etwas genauere und fachmännische Lösungsansätze an den Kopf knallen.
Womit ich nur sagen möchte, dass ich nicht absolut unwissend bin und mich nicht in anderleuts Projekt mische, weil ich denke die wären blöd und ich alles besser weiss.Gruß
Günni
-
Hat keiner eine Antwort!?!?!
-
Haben die Zieldatenbanken immer einen anderen Zeichensatz? Bei mehreren Sprachen würde ich stets Unicode oder zumindest UTF-8 nehmen.
Ansonsten könntest du einmal versuchen die ISO-Codes deiner CPs zu finden und diese zu nutzen.
-
Moin Moin
versuch doch bitte mal den cp1252
Ist der Windows Standard Zeichensatz.
cu CodeHure
-
cp850 oder IBM850 sollten funktionieren.
Wenn nicht liegt der Fehler wahrscheinlich woanders. Vielleicht liest das Program die Daten schon falsch ein oder die Datenbank benutzt überhaupt nicht die cp850 Kodierung.
Was meinst du mit "kommt nichts raus"? Wird überhaupt nichts an die Datenbank übergeben oder werden lediglich die Umlaute falsch dargestellt? Im ersten Fall liegt der Fehler wohl tatsächlich woanders.Kommst du irgendwie an den Quellcode ran?