Veröffentlicht 30. Dezember 200915 j 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
30. Dezember 200915 j 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]
30. Dezember 200915 j Ja, aber das Problem ist doch, dass schon gar kein Ä oder Ö oder Ü bei mir bis zum Server ankommt...
30. Dezember 200915 j Naja dann musst du das im Formular anpassen? Das das Formular vorher abfragt ob es Umlaute sind und diese umwandelt.
31. Dezember 200915 j gibt es dafür vielleicht schon eine fertige javascript funktion oder muss ich die selber implementieren?
2. Januar 201015 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.