Hallo alle zusammen,
ich sitze schon drei Tage über dem Problem, habe die Forumssuche bemüht, Google gefragt und das SunForum durchsucht.
Problem: Formular -> JSP -> Bean -> MySQL -> hier kommen Fragezeichen statt Umlaute an.
Ich habe mittlerweile vom tippen wunde Finger und Orte gesehen an denen man den 'UTF-8' setzen kann, die sonst keiner kennt :###
Formular (zwei Textfelder, ein FileUpload, erstellt von Tomcat, Linux):
====================================
alternativ:
JSP (erstellt von Tomcat, Linux):
====================================
Bean:
====================================
MySQL Treiber (jdbc v5.06):
====================================
MySQL (5.x.irgendwas, Linux)
====================================
Mir gehen so langsam die Ideen aus, an welchen Stellen im Code ich noch drehen könnte. Hin- und wieder stoße ich in Foren auf das gleiche Problem, manchmal mit Lösung, manchmal ohne. Aber auch deren Lösungen bringen mich nicht weiter. Es scheint an dem Multipart-Formular und dem dahintersteckendem Request zu liegen, denn ich habe noch ein zweites Formular (ohne Upload) und mit dem funktioniert es bestens.
Hat jemand noch einen guten Tipp? Ach ja, das mit dem jdbc Treiber habe ich ich nicht ganz verstanden. Ich habe probeweise das ISO-8859-1 gegen UTF-8 ausgetauscht, hat aber auch nichts gebracht. Das einzige was passiert wenn ich an diesem Parameter drehe ist, das in der MySQL schwarze Balken statt Fragezeichen erscheinen.
Ich bestehe ja auch nicht auf UTF-8, wenn es einen guten Workaround mit ISO-8859 geben sollte. Ich bin schon kurz davor mir einen Filter a la 'x = replace (ä , ae)' zu schreiben. Aber das kann es ja nicht sein.
Und ja, wenn ich direkt in die MySQL Datenbank schreibe, kann ich mit Umlauten arbeiten und sie auch auslesen.
ich sitze schon drei Tage über dem Problem, habe die Forumssuche bemüht, Google gefragt und das SunForum durchsucht.
Problem: Formular -> JSP -> Bean -> MySQL -> hier kommen Fragezeichen statt Umlaute an.
Ich habe mittlerweile vom tippen wunde Finger und Orte gesehen an denen man den 'UTF-8' setzen kann, die sonst keiner kennt :###
Formular (zwei Textfelder, ein FileUpload, erstellt von Tomcat, Linux):
====================================
Code:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<form action="upload_gps_file.jsp"
method="post"
encoding="UTF-8"
accept-charset="UTF-8"
enctype="multipart/form-data">
alternativ:
Code:
<%@ page language="java"%>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
JSP (erstellt von Tomcat, Linux):
====================================
Code:
<% request.setCharacterEncoding("UTF-8"); %>
Bean:
====================================
Code:
request.setCharacterEncoding("UTF-8");
MySQL Treiber (jdbc v5.06):
====================================
Code:
&useUnicode=true&characterEncoding=ISO-8859-1
MySQL (5.x.irgendwas, Linux)
====================================
Code:
Tabelle: utf-8
varchar: utf-8
text: utf-8
Mir gehen so langsam die Ideen aus, an welchen Stellen im Code ich noch drehen könnte. Hin- und wieder stoße ich in Foren auf das gleiche Problem, manchmal mit Lösung, manchmal ohne. Aber auch deren Lösungen bringen mich nicht weiter. Es scheint an dem Multipart-Formular und dem dahintersteckendem Request zu liegen, denn ich habe noch ein zweites Formular (ohne Upload) und mit dem funktioniert es bestens.
Hat jemand noch einen guten Tipp? Ach ja, das mit dem jdbc Treiber habe ich ich nicht ganz verstanden. Ich habe probeweise das ISO-8859-1 gegen UTF-8 ausgetauscht, hat aber auch nichts gebracht. Das einzige was passiert wenn ich an diesem Parameter drehe ist, das in der MySQL schwarze Balken statt Fragezeichen erscheinen.
Ich bestehe ja auch nicht auf UTF-8, wenn es einen guten Workaround mit ISO-8859 geben sollte. Ich bin schon kurz davor mir einen Filter a la 'x = replace (ä , ae)' zu schreiben. Aber das kann es ja nicht sein.
Und ja, wenn ich direkt in die MySQL Datenbank schreibe, kann ich mit Umlauten arbeiten und sie auch auslesen.