2016-04-16 8 views
0

Ich versuche, von C# zu Java (Android), über TCP eine Zeichenfolge senden, die hebräische Zeichen enthält.Anzeigen hebräischen Zeichen in Android

Die Daten, die zu Java kommen, sind jedoch Fragezeichen.

Hier der entsprechende Code:

C# (m_client ist tcpclient Klasse):

NetworkStream stream = client.m_client.GetStream(); 
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(msg); 
stream.Write(bytes, 0, bytes.Length); 

Java (Android):

BufferedReader input = new BufferedReader(new InputStreamReader(m_client.getInputStream(),"Windows-1255")); 
char[] buffer = new char[1024]; 
input.read(buffer); 
return new String(buffer); 

ich alle Arten von Codierung in die versucht haben, Java-Teil (Windows-1255, UTF-8, ASCII, iso-8859-8-i, iso-8859-8), aber nichts scheint zu funktionieren

mein Betriebssystem ist Windows 7 Vielen Dank im Voraus.

+0

versuchen, auf C# Seiten Verwendung UTF8-Codierung. Ich denke, ASCII unterstützt nicht hebräisch –

+0

Vielen Dank für die Antwort, es war das Problem auch, meine Sprache in der Android musste in Hebräisch und auch die Codierung sowohl Java und C# zu UTF-8 – Joe

+0

Froh zu hören, es funktioniert und danke für die Rückmeldung – Pomagranite

Antwort

0

Auf dem Gerät gehen Sie zu Einstellungen/Sprache & Eingabe und stellen Sie sicher, die Sprache ist Hebräisch oder wie sagt man Hebräisch auf Hebräisch. Dies sollte das Gerät setzen locale Ich zeige es nicht aufgelistet, aber ich weiß nicht wieder Hebräisch. Ein Teil der Header in einer HTTP-Anfrage speziell Accept-Language: lain/hebrew und this Hebräisch ist Teil von UTF-8, aber Sie haben das Recht, links Ding. Diese trick könnte nützlich sein, wenn Sie keine hebräische Tastatur zum Testen haben. Viel Glück

0

dies für mich gearbeitet:

BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("Windows-1255")));