Wie konvertiere ich Umlaute (ä -> ae) ?

theNick

Mitglied
Hallo,

ich habe schon ein einige Zeit lang im Internet (sowie hier im Forum) nach folgender Problematik gesucht, bisher jedoch nicht gefunden:

Ich bekomme einen String, welchen ich von Umlauten bereinigen will. Um diese jedoch nicht zu verlieren möchte ich sie gerne Konvertieren.
Also:
aus ä soll ae werden,
aus ü soll ue werden,
aus ß soll ss werden,
aus é soll e werden,
aus â soll a werden,
...usw.
Bsp.: aus Mörtel soll Moertel werden

Da ein einfaches String-replace verdammt viel Tipparbeit wäre, habe ich nach einer vorhandenen Java-Methode gesucht, allerdings noch keine gefunden.


Viele Grüße,
theNick
 

madboy

Top Contributor
Sooo viel Tipparbeit ist das doch nicht. Eine Map mit den Ersetzungen und eine Schleife, die ersetzt. Außer, ich verstehe was falsch ;-)
 

agentone

Bekanntes Mitglied
Warum willst du überhaupt die Umlaute konvertieren?
Java ist internationalisiert und unterstützt Umlaute sogar in Variablennamen.
Wenn du Out- oder InputStreams hast, kannst du vorher die Zeichencodierung wählen. Damit kannst du Umlaute beibehalten und es geht nichts verloren!

Und wenn du es trotzdem machen willst: replace und eine Liste der Umlaute und deren Umwandlung lässt sich wohl nicht vermeiden. Ich kenne zumindest keine solche Funktion.
 

theNick

Mitglied
Erstmal danke für eure schnellen Antworten
@madboy
Es ist wirdklich viel Tipparbeit + alle Möglichen raussuchen :)
Ein Beispiel für "o": œōøöõôóòöǒθo‘סּ
und das waren nur die Ersten, die ich bei Wikipedia gefunden hab :D

@agentone
einen Steam habe ich nicht, nur einen String der meiner Methode übergeben wird.
Zu deiner Frage wofür ich das brauche: Ein Bot, auf den ich keinen Einfluss habe, wird nachher den String auslesen und dem Benutzer anzeigen - Und im Moment macht er aus meinem "Mörtel" ein "Mrtel"
 

madboy

Top Contributor
Ach so, du willst also alle Zeichen, die in Unicode vorkommen und aussehen wie ein o zu einem o machen und so weiter? Das ist erstens wirklich viel Tipparbeit, zweitens stimmt was mit dem Design bzw. dem Zeichenencoding nicht und drittens verstehe ich nicht, warum du ein Zeichen, das aussieht wie ein o, aber keines ist zu einem o machen willst.

Annahme 1: du hast einen String mit wilden Sonderzeichen.
Du willst den String mit Sonderzeichen anzeigen, also musst du dich um das Encoding beim Anzeigen kümmern (wobei das normalerweise intern korrekt funktioniert, es sei denn die Anzeigeschriftart kennt diverse Zeichen nicht)

Annahme 2: du hast einen String, der wilden Sonderzeichen enthalten sollte, aber die fehlen schon.
Dann stimmt was beim Einlesen des Strings nicht.

Alles in allem würde ein Beispiel helfen, was du genau hast und was du genau willst.
 

theNick

Mitglied
hmm, ich versuche es mal mit einem Beispiel:

Ein User (von belibiger Nationalität d.h. mit den diversesten Sonderzeichen) gibt einen String in ein Eingabefeld ein.
-> z.B. den String "Mörtel"
Diese Eingabe wird von einem Bot, welcher diese Sonderzeichen nicht erkennen kann, indexiert.
-> in dem Fall von "Mörtel" würde er "Mrtel" oder "M?rtel" lesen.
Um nun mehrere Eingaben durchsuchen zu können, muss ich den String daher vorbearbeiten
-> aus "Mörtel" ein Moertel machen

Umschreibungen (z.B. von "ö" als oe) für Sonderzeichen gibt es ja in jeder Sprache (soweit ich weiß). Sollte es keine definierte Umschreibung dafür geben, kann einfach das "Basiszeichen" (in diesem Fall "o") verwendet werden.

Also im Prinzip will ich es ähnlich machen wie der java-URLEncoder, nur dass ich kein html code sondern halt die Umschreibung/den Basisbuchstaben haben will :D
 

eRaaaa

Top Contributor
Haha, mit einer Mischung aus
AW: Transforming german umlaute like ö,ä,ü ,ß into oe, ae, ue, ss
und
Use Normalizer to Remove Accents : NormalizerI18NJava Tutorial
sieht das Ergebnis doch schon gar nicht so schlecht aus :lol::lol: (vom Aussehen des Codes aus dem erstne Link mal abgesehen ^^)

Code:
hällo wörld. âllés gütï ? œ ō ø ö õ ô ó ò ö ǒ θ o ‘ס ß

:arrow:

Code:
haello woerld. alles gueti ? oe o o oe o o o o oe o  o  ss

/edit: Ansonsten könnte man sich auch überlegen einfach alle Zeichen außer A-Za-z oder so einfach im Textfeld nicht zu akzeptieren :eek:
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
L Tess4j Umlaute anzeigen Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
T Input/Output Konsole gibt trotz printf keine Umlaute aus Allgemeine Java-Themen 17
T Umlaute werden falsch gedruckt Allgemeine Java-Themen 2
F CaesarVerschlüsselung Umlaute Allgemeine Java-Themen 7
F Windows Umlaute Allgemeine Java-Themen 15
MiMa Umlaute beim Einlesen von Dateinamen Allgemeine Java-Themen 12
C Regex (Case insensitive und Umlaute) Allgemeine Java-Themen 4
B Zip umlaute Allgemeine Java-Themen 8
S jar-Datei stellt Umlaute nicht dar Allgemeine Java-Themen 6
K Javamail:Probleme mit der Darstellung von Umlaute in Subject Allgemeine Java-Themen 15
S Umlaute machen probleme Allgemeine Java-Themen 3
E HTML File mit Umlaute einlesen Allgemeine Java-Themen 8
R Base64_decode Umlaute Problem. Allgemeine Java-Themen 8
J Umlaute bei Commons-Fileupload Allgemeine Java-Themen 3
J Umlaute in regulären Ausdrücken Allgemeine Java-Themen 3
kodela replace und die Umlaute Allgemeine Java-Themen 10
D zeichenerkennung für umlaute bei eingabe Allgemeine Java-Themen 4
S Mac OS JRE verhunst Umlaute Allgemeine Java-Themen 6
G Datei einlesen: Umlaute sind Fragezeichen Allgemeine Java-Themen 23
cover1012 Umlaute in id3 Tags Allgemeine Java-Themen 2
F Umlaute: E-Mail per JavaMail und Textfile Allgemeine Java-Themen 5
J JAR und Umlaute Allgemeine Java-Themen 4
B Umlaute über Konsoloe ein- und ausgeben Allgemeine Java-Themen 5
G Windows Shell Umlaute Problem Allgemeine Java-Themen 19
W Umlaute umwandeln bekomme nur Leerzeichen raus. Allgemeine Java-Themen 11
E Umlaute: FileWriter vs. FileOutputStream Allgemeine Java-Themen 3
W Umlaute in Dateien und Verzeichnissen. Bekomme Fehler Allgemeine Java-Themen 5
M Umlaute richtig dastellen? Allgemeine Java-Themen 4
X Umlaute im JAR-File Allgemeine Java-Themen 4
B Umlaute-Problem bei Plattform-Wechsel Allgemeine Java-Themen 9
C Umlaute mysql Allgemeine Java-Themen 3
F Umlaute in Text . Allgemeine Java-Themen 7
V Umlaute, sonderzeichen beim HTMLEditiorKit Allgemeine Java-Themen 2
O Probleme mit Umlaute Allgemeine Java-Themen 12
B html umlaute decoden Allgemeine Java-Themen 4

Ähnliche Java Themen


Oben