daniel_bln Geschrieben 30. Dezember 2009 Geschrieben 30. Dezember 2009 Hallo Leute, ich habe eine Client Server Anwendung mit struts gebaut. Ich habe momentan leider ein Problem mit der Parameterübergabe wenn Umlaute in ein Formular geschrieben werden und anschließend in die Datenbank. Wenn diese Parameter an den Server übergeben werden, kommen sie anders beim Server an. Aus dem Wort übung wird beispielweise übung. Das ist seltsam, weil ich auf meine jsp Seite auch mit dem UniCode Zeichensatz arbeite, Utf-8. Serverseitig wandle ich den String dann in Unicode um: new String(name_test.getBytes(),"UTF-8"); Das hilft schon, aber leider funktioniert das noch nicht bei Umlauten, die mit Großbuchstaben geschrieben werden. Gibt es noch andere Methoden in Java, die bei der Umformung helfen oder sollte das Problem schon bei der Übergabe, also clientseitig angegangen werden?? lg Zitieren
bequiet Geschrieben 30. Dezember 2009 Geschrieben 30. Dezember 2009 hi. Ich hatte mal damals ein ähnliches Problem. Ich habe es einfach mitner Zeichenwandler Klasse gelöst. Eventuell bringt dich das ja weiter. public class Zeichenwandler { public static String entferneUmlaute(String s) { char zeichen; String ersetzt = ""; int zeichenlaenge = s.length() - 1; for (int n = 0; n <= zeichenlaenge; n++) { zeichen = s.charAt(n); switch(zeichen) { case 'Ä': ersetzt += "Ae"; break; case 'Ü': ersetzt += "Ue"; break; case 'Ö': ersetzt += "Oe"; break; case 'ä': ersetzt += "ae"; break; case 'ü': ersetzt += "ue"; break; case 'ö': ersetzt += "oe"; break; default: ersetzt += zeichen; } } return ersetzt; } }[/PHP] Zitieren
daniel_bln Geschrieben 30. Dezember 2009 Autor Geschrieben 30. Dezember 2009 Ja, aber das Problem ist doch, dass schon gar kein Ä oder Ö oder Ü bei mir bis zum Server ankommt... Zitieren
bequiet Geschrieben 30. Dezember 2009 Geschrieben 30. Dezember 2009 Naja dann musst du das im Formular anpassen? Das das Formular vorher abfragt ob es Umlaute sind und diese umwandelt. Zitieren
daniel_bln Geschrieben 31. Dezember 2009 Autor Geschrieben 31. Dezember 2009 gibt es dafür vielleicht schon eine fertige javascript funktion oder muss ich die selber implementieren? Zitieren
kingofbrain Geschrieben 2. Januar 2010 Geschrieben 2. Januar 2010 Servus, Das ist seltsam, weil ich auf meine jsp Seite auch mit dem UniCode Zeichensatz arbeite, Utf-8. Serverseitig wandle ich den String dann in Unicode um: new String(name_test.getBytes(),"UTF-8"); Wie sieht denn das aus, wenn Deine JSP mit Unicode "arbeitet"? Ist die JSP-Datei in Unicode codiert oder gibst Du der JSP als Page Directive mit, dass der Inhalt Unicode ist? Wenn zweiteres (darauf kommts an), was ist dann "name_test"? Die Variable, in der Du den Parameter speicherst? Du musst hier nichts rumtricksen, wenn Deine JSP korrekt dafür sorgt, dass das ausgespielte Markup dem Client sagt, in welchem Zeichensatz hier gesprochen wird. Dafür ist die entsprechende Page Directive zuständig. Gib mal ein bisschen mehr Informationen, damit man am eigentlichen Problem arbeiten kann. Die Javascript-Lösung mit der Umschreibung von Sonderzeichen ist nämlich in meinen Augen nicht besonders elegant. Peter Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.