Announcement

Collapse
No announcement yet.

Zeichensatzproblem mit JayBird 1.5 / Tomcat unter Linux

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zeichensatzproblem mit JayBird 1.5 / Tomcat unter Linux

    Hallo,
    ich habe eine Java Servlet Anwendung, die unter Tomcat 5.0/JDK 1.4.2 und Firebird 1.5 mit JayBird 1.5 läuft von Windows nach Linux uebertragen.

    Die Datenbankzugriffe unter Linux bringen leider nicht die deutschen Umlaute an die Oberfläche, statt dessen erscheint ein "?" anstatt des Umlauts.

    Wenn ich dann in einem Feld einen Umlaut eingebe und die Daten speichere, wird der Umlau anschließend korrekt angezeigt.
    Im GUI Admin Tool (EMS QuickDesk 2.9) sehe ich dann aber in der Datenbank kryptische Zeichen, z.B. "ä" für ein "ä"

    Habe bereits in den FAQ von Firebird gelesen, dass JayBird sich des Encodings von Java bedient und allerhand Experimente gemacht:
    CATALINA_OPTS=-Dfile.encoding=ISO-8859-1 bzw. UTF-8
    export CATALINA_OPTS
    (wird auch beim Start von Tomcat berücksichtigt, habe ich mit
    ps -eaf | grep 'tomcat' kontrolliert)
    und im Datenbank-Connect den equivalenten Zeichensatz fuer JayBird gewählt:
    Properties props = new Properties();
    props.setProperty("user", "myUser");
    props.setProperty("password", "myOassword");
    props.setProperty("lc_ctype", "ISO8859_1");
    con = DriverManager.getConnection(url, props);

    Leider alles ohne Erfolg.
    Hat jemand ein aehliches Problem geloest oder eine Idee, wie ich weiterforschen kann?

    Die Datenbank ist bereits vor 5 Jahren angelegt worden und ich habe sie per
    gbak nach FB 1.5 migriert.

    Gruß
    Frank

  • #2
    Problemlösung selbst durch probieren gefunden:
    vor dem Start von Tomcat:
    CATALINA_OPTS=-Dfile.encoding=<b>Cp1252</b>
    export CATALINA_OPTS
    <br>
    und dann im Java-Code:<br>
    Properties props = new Properties();
    props.setProperty("user", "myUser");
    props.setProperty("password", "myOassword");
    props.setProperty("lc_ctype", "<b>ISO8859_1</b>");
    con = DriverManager.getConnection(url, props);
    <br>Dann klappt es.

    Fran

    Comment

    Working...
    X