pschulz
I'm new here

Umlaute mit StoreServlet speichern (FS Integration)

Jump to solution

Moin,

ich habe das Problem, dass das StoreServlet die eingegebenen Umlaute nicht korrekt in die Datenbank schreibt.

Wenn ich beispielsweise "äöüÄÖÜ" eingebe, kommt in der Datenbank nur

äöüÄÖÜ

an.

Was mache ich falsch?

Gruß

Peter

0 Kudos
1 Solution

Accepted Solutions

Hallo Herr Schulz,

der Glassfish Server wird von FirstSpirit offiziell nicht unterstützt.

Sie könnten aber noch folgendes versuchen, wenn sie es nicht schon getan haben:

Das Encoding wird hier nicht an einem Connector sondern in der Web-Anwendung konfiguriert. Sie müssten also in der Datei WEB-INF/sun-web.xml bzw. ab Glassfish 3.1 in der Datei WEB-INF/glassfish-web.xml das Parameter Encoding setzten:

<parameter-encoding default-charset="UTF-8" />

Viele Grüße

Thorsten Marx

View solution in original post

0 Kudos
15 Replies
stephan
I'm new here

Hallo Herr Schulz,

vielen Dank für ihr Posting. Können sie bitte zur genauen Fehlerlokalisation noch die verwendete Konfiguration posten?

Viele Grüße

Jörg Stephan

0 Kudos

Hallo Herr Stephan,

anbei die fsi-Konfiguration.

Gruß

Peter

fsi.jpg

0 Kudos

Hallo Herr Schulz,

gerade die interessanten Dingen sind leider geschwärzt. Wie sehen denn die URL-Parameter aus? Haben sie Parameter wie useUnicode=true und characterEncoding=UTF8 gesetzt? Ist das Encoding der Oracle auch UTF-8?

Viele Grüße

Jörg Stephan

0 Kudos

Hallo Herr Stephan,

es wird eins zu eins der Connect-String verwendet, der auch in der Server-Einstellung für FirstSpirit eingetragen ist.

jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=off)(FAILOVER=on)(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=xxx)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=xxx)))

FirstSpirit kann Umlaute in die Datenbank schreiben. FSI nicht.

Das Encoding der Oracle-Datenbank ist auf UTF-8 gesetzt.

Gruß

Peter

0 Kudos

Hallo Herr Schulz,

schickt das Formular die Daten auch als UTF-8? Also ist im form-Tag ein accept-charset="UTF-8" gesetzt?

Viele Grüße

Christoph Feddersen

0 Kudos

Hallo Herr Feddersen,

das Attribut war nicht gesetzt, hat aber auch jetzt keine Besserung gebracht.

Gruß

Peter

0 Kudos
rrichter
Occasional Collector

Hallo Herr Schulz,

als init-Parameter des StoreServlets muss der Parameter "formEncoding" auf "UTF-8" gesetzt werden.

Haben Sie das in der web.xml vorgesehen?

Viele Grüße,
Raphael Richter.

1+1=3 for large values of 1.
0 Kudos

Hallo Herr Richter,

der Parameter ist bereits in der web.xml eingetragen.

<servlet>            <servlet-name>fsi-StoreServlet</servlet-name>
            <servlet-class>de.espirit.firstspirit.opt.integration.web.StoreServlet</servlet-class>
            <init-param>
                    <param-name>formEncoding</param-name>
                    <param-value>UTF-8</param-value>
            </init-param>
</servlet>

Das ist also auch nicht das Problem.

Gruß

Peter

0 Kudos
rrichter
Occasional Collector

Hallo,

und nur der Vollständigkeit halber: Die HTML-Seite hat auch ein

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

und, falls es eine JSP-Seite ist, zusätzlich ein:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

?

Viele Grüße,
Raphael Richter.

1+1=3 for large values of 1.
0 Kudos