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
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]
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...
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.
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?
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden