# Zeichensatz in UTF8 konvertieren



## kakadu (29. Sep 2008)

aus der Datenbank  hole ich einen String, der in einem anderen Zeichensatz (cp1252) abgespeichert wurde. Nun möchte ich diesen Zeichensatz in utf8 umformatieren, in der folgenden Weise:


```
lValue = new String(lValue.getBytes( "UTF8" ), "UTF8");
```

Funktioniert aber nicht, die Umlaute sind danach noch immer drin.

Hat jmd eine Lösung?


----------



## kakadu (29. Sep 2008)

Klaro, hab den Fehler schon gefunden:

lValue = new String(lValue.getBytes( "CP1252" ), "UTF8");


----------



## Leroy42 (29. Sep 2008)

```
lValue = new String(lValue.getBytes( "CP1252" ), "UTF8");
```


----------



## kakadu (29. Sep 2008)

Sorry, die Lösung hat doch nicht funktioniert. 
Die Umlaute, die vorher durch ein umgekehrtes Fragezeichen dargestellt wurden, werden nun durch ein Y ersetzt.

Komisch ist nur, dass in manchen Fällen die Umlaute richtig konvertiert wurden.


----------



## Leroy42 (29. Sep 2008)

kakadu hat gesagt.:
			
		

> Sorry, die Lösung hat doch nicht funktioniert.


Das bedeutet einfach, daß deine chars *nicht* in cp1252 codiert waren


----------



## Kakadu (29. Sep 2008)

Hi Leroy42,

das habe ich anfangs auch vermutet. Kann ich irgendwie feststellen in welchem Format es kodiert war?


----------



## maki (29. Sep 2008)

Die DB kennt doch ihr encoding...


----------



## kakadu (29. Sep 2008)

wisst ihr zufällig, welches encoding die standard oracle db hat?


----------

