Kuriose Geschichte -> Antwort gesucht

D.Luxe

Mitglied
Hallo zusammen,

mir ist heute etwas ganz kurioses passiert! :autsch::autsch::autsch:

Kurz zum Programm:
Ich habe ein Programm entwickelt, in dem ich Strings aus Excel (Excel 97/Open Office) in Java importiere. Es geht dabei auch zum Beispiel um tschechische Strings mit Sonderzeichen. Diese Strings werden danach in verschiedene Ordner/Dateien abgespeichert. Das ganze mit einer GUI wo die Excel-Datei per Drag&Drop eingefügt wird.

Bibliothek: jxl.jar

Mein Hauptproblem:
Grad die tschechischen Zeichen kommen nicht richtig formatiert in meinem Java-Programm an.
Nach langem Googeln benutze ich das Charset Cp1250 für meine WorkbookSettings.

Das Kuriose:
Ich habe es gestern einmal aufwändig programmiert und habe es nie hin bekommen mit den String-Codierungen. Heute habe ich es nochmal nach programmiert und meine GUI etwas abgespeckt und so.
Das erste Kuriose: Sobald der Pfad der Datei aus einer anderen Klasse kam, waren die Strings schon falsch codiert. Habe es Schritt für Schritt getestet und dann nur eine einzige Klasse verwendet.
Ich habe dann eine wirklich funktionierende Version hin bekommen...
So, da das nur ein Testprojekt war, habe ich ein neues Projekt erstellt und den Text meiner Klasse dort in eine bereits vorhandene leere Klasse eingefügt.
Das zweite Kuriose: Wenn ich dann diese Klasse im neuen Projekt ausführe, funktioniert die String-Codierung wieder nicht. Die Strings kommen wieder falsch in Java an. Dabei ist alles identisch. Habe sogar extra beide Java-Codings online (diffchecker oder so) vergleichen lassen. ???:L
Das dritte Kuriose: Ich brauche eine jar-Datei, die habe ich dann halt mal von meinem Testprojekt erstellt. Wenn ich die jar-Datei laufen lasse funktioniert es wieder nicht und die Strings sind wieder falsch codiert. ???:L

Schlussfolgerung: Ich kann mein Programm nur in Eclipse ausführen und auch nur genau dieses Projekt, weil kopieren kann ich es ja nicht und somit auch nicht extern sichern.:toll::toll:;(;(

KANN DAS WIRKLICH SEIN?? HAT JEMAND SOWAS SCHON MAL ERLEBT ???:L???:L???:L???:L

:bahnhof::bahnhof::bahnhof::bahnhof::bahnhof::bahnhof::bahnhof:
 
Zuletzt bearbeitet:

diggaa1984

Top Contributor
Habe ich nicht :)
Kannst du ein kleines kskb basteln zum nachvollziehen? Dann lässt es sich auch leichter testen mit unterschiedlichen Projekten und so.
 

Phash

Top Contributor
kenn das Problem...

ich stell einfach immer alles auf utf8, und versuche meine importtexte auch auf utf8 zu bekommen, bzw. formatiere diese teilweise um
 

D.Luxe

Mitglied
Ich kann mir kaum vorstellen, dass es irgendwie am Coding liegt, weil es ja einmal funktioniert^^
aber hier mal ein grober auszug aus meinem coding:

class Script extends JFrame implements DropTargetListener {


main() {
new Script().....
}


public Script() {
GUI ganz normal aufbauen
ActionListener für den Button, der den Pfad vom Textfeld holt und dann das Script startet.
}


public void start() {
WorkbookSettings workbookSettings = new WorkbookSettings();
workbookSettings.setEncoding("Cp1250");
try {
Workbook workBook = Workbook.getWorkbook(workbookFile, workbookSettings);
Sheet sheet = workBook.getSheet(0);

createFiles();

... über das Sheet drüber gehen und die benötigten Werte holen
syso(Werte); <- hier sehe ich dann beim Testen ob die Werte richtig in Java ankommen oder nicht.
... Werte in die erstellen Dateien schreiben.

... die FileWriter flushen und schließen.
}


public void createFiles() {
Ausgabedateien und deren FileWriter erstellen...
}


}

Jo, um es nochmal auf den Punkt zu bringen: Wenn ich dieses Coding in ein neues Projekt kopiere, dann funktioniert es leider nicht mehr. Wenn ich eine jar-Datei davon erstelle funktioniert es leider auch nicht mehr. Es funktioniert komischerweise wirklich nur ein einziges mal. ;(
 

D.Luxe

Mitglied
Aber was mache ich denn z.B. wenn in meiner Excel Datei in einer Zelle "čeština" (tschechisch) steht???:L

Ich hole mir das über meine WorkbookSettings als Cp1250 in Java rein und eigentlich funktioniert es (also halt genau dieses eine Coding^^)

Was könnte ich denn jetzt mit diesem String in Java noch anstellen, dass dieser dann genau so wieder in einer Textdatei (genauer gesagt .ini) landet???:L???:L???:L
Und das das Coding dann als jar-Datei exportierbar ist.
 

Ähnliche Java Themen

Neue Themen


Oben