Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Umlautprobleme bei Parameterübergabe

Empfohlene Antworten

Veröffentlicht

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

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]

Ja, aber das Problem ist doch, dass schon gar kein Ä oder Ö oder Ü bei mir bis zum Server ankommt...

Naja dann musst du das im Formular anpassen? Das das Formular vorher abfragt ob es Umlaute sind und diese umwandelt.

gibt es dafür vielleicht schon eine fertige javascript funktion oder muss ich die selber implementieren?

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.