Search the FirstSpirit Knowledge Base
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
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
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
Hallo Herr Stephan,
anbei die fsi-Konfiguration.
Gruß
Peter
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
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
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
Hallo Herr Feddersen,
das Attribut war nicht gesetzt, hat aber auch jetzt keine Besserung gebracht.
Gruß
Peter
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.
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
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.