Hallo,
ich habe eine Webapplikation, basierend auf Struts, JSPs und Hibernate. Die Seiten sind alle valide XHTML-Dokumente mit dem Encoding UTF-8, auch die Postgres-Datenbank steht auf UTF-8.
Mein Problem ist, wenn Daten aus Formularen mit Sonderzeichen, wie ñ, ç etc. in die Datenbank geschrieben werden, kommt nur "ISO-Latin-1"-Schrott an.
Sicherheitshalber habe ich meine Forms auch mit einem Encoding versehen:
Code:
<form action="/retrobib/secure/change/changeWerk.html" method="post" accept-charset="UTF-8">
aber das bringt nichts.
Hibernate bekommt die Datenquelle aus der context.xml vom Tomcat:
Code:
<property name="connection.datasource">
java:/comp/env/jdbc/retrobibDB
</property>
<!-- SQL-dialect for postgresql -->
<property name="dialect">
org.hibernate.dialect.PostgreSQLDialect
</property>
... die so aussieht:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/retrobib">
<Resource auth="Container"
driverClassName="org.postgresql.Driver"
maxActive="8"
maxIdle="4"
name="jdbc/retrobibDB"
password="***"
type="javax.sql.DataSource"
url="jdbc:postgresql://localhost:5432/retrobib"
username="***"
useUnicode="true"
characterEncoding="UTF-8" />
</Context>
Kann ich Hibernate irgendwo das Encoding der Datenbank mitteilen? Oder hat Jemand einen anderen Tipp?
Die Webapplikation läuft unter OS X.
Grüße,
Christian