# Umlautproblem bei socket  php --> java



## Zack (4. Feb 2009)

Hallo,

mein php-Script kommuniziert per Socket mit dem Java-Programm. Das klappt auch alles wunderbar, aber sobald Umlaute im Spiel sind gehts schief. Hab jetzt schon hier und da mal gesucht, geguckt, ausprobiert, aber alles ohne Erfolg.

Wenn ich mir den empfangengen String per System.out.println ausgeben lassen, kommt sowas dabei raus:
(Hmm, kann ich jetzt nicht einfuegen, zB wird sz zu einem A mit Tilde drauf und einem Y mit 2 Punkten...)

In php benutz ich einfach socket_write. Parameter zum Encoding kann man nicht angeben (meines Wissens).

In Java sieht das so aus:

(mal etwas verkuerzt, nur damit ihr die aufrufe seht)

```
server = new ServerSocket(27666); 
client = server.accept(); 
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
String shutterName = in.readLine();
```

Wie kann ich das nun umwandeln? In Eclipse hab ich schon das Projekt auf UTF-8 getellt (Unter Project->Properties->Testfileencoding, oder muss man da noch mehr machen?)


Oder muss ich beim Php-Skript was aendern? Und falls ja, auf welches Encoding?

Danke fuer eure Hilfe!


----------



## Gelöschtes Mitglied 5909 (4. Feb 2009)

probier mal


```
in = new BufferedReader(new InputStreamReader(client.getInputStream(), "UTF-8"));
```

p.s. dass was du gemacht hast heißt dass dein quelltext nun utf-8 ist


----------



## Zack (4. Feb 2009)

raiL hat gesagt.:
			
		

> probier mal
> 
> ```
> in = new BufferedReader(new InputStreamReader(client.getInputStream(), "UTF-8"));
> ```


Supercool, das war ja jetzt doch ganz einfach...und ich hab mit getByte rumgefummelt...danke!




> p.s. dass was du gemacht hast heißt dass dein quelltext nun utf-8 ist



ja, hatte ich auch schon angenommen, aber probieren wollte ichs trotzdem 
Das hatte dann zur folge, dass alle umlaute weg waren. naja


----------

