# Unicode zu ASCII konvertieren



## fishhed (25. Sep 2007)

Hallo Gemeinde,

ich habe einen String mit vielen Umlauten. Diesen möchte ich in das ASCII-Format umwandeln. Die Umlaute und Sonderzeichen sollen also durch deren Repräsentanten ersetzt werden.

Also: "Mühe" --> "M&#252he"

Wie kann ich das machen?


Schöne Grüsse,

fishhed


----------



## Jango (25. Sep 2007)

fishhed hat gesagt.:
			
		

> Also: "Mühe" --> "Mühe"


Und wo ist zwischen 'Mühe' und 'Mühe' der Unterschied? Also, was soll da ersetzt werden, wenn es hinterher genau wie vorher ist?

Edit: Wenn du 'Mühe' --> 'Muehe' meinst, weise den _string_ einem _char_ Array zu (mittels_ toCharArray()_) und ersetze die erforderlichen Elemente dementsprechend.


----------



## Guest (26. Sep 2007)

Jango hat gesagt.:
			
		

> Und wo ist zwischen 'Mühe' und 'Mühe' der Unterschied? Also, was soll da ersetzt werden, wenn es hinterher genau wie vorher ist?



Mist, jetzt hat natürlich der Browser den Repräsentaten wieder durch ein ü ersetzt.

Was ich meine ist, das alle Umlaute durch mehrere ASCII-Zeichen ersetzt werden.

Also: Mühe --> M&uuml;he


----------



## Murray (26. Sep 2007)

Einfach, aber vielleicht nicht der effizienteste Weg:


```
String str = "Über der Mühle saß der Förster aus Österreich und beäugte die Ähren";
str = str.replaceAll( "Ü", "&Uuml;");
str = str.replaceAll( "ü", "&uuml;");
str = str.replaceAll( "Ö", "&Ouml;");
str = str.replaceAll( "ö", "&ouml;");
str = str.replaceAll( "Ä", "&Auml;");
str = str.replaceAll( "ä", "&auml;");
str = str.replaceAll( "ß", "&szlig;");
System.out.println( str);
```


----------



## Guest (28. Sep 2007)

geht das auch ohne die umlaute in den code schreiben zu muessen?


----------



## SlaterB (28. Sep 2007)

kannst auch (char) 67; verwenden oder welche Nummer auch immer ü hat,
oder gar die Unicode-Repräsentation \uxy


----------

