2016-04-16 22 views
0

我想從c#發送到java(android),通過tcp包含希伯來字符的字符串。在android中顯示希伯來字符

但是,涉及java的數據是問號。

這裏的相關代碼:

C#(m_client是的TcpClient類):

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); 

我已經試過各種編碼的java部分(windows-1255,UTF-8,ASCII,iso-8859-8-i,iso-8859-8),但似乎沒有任何工作

我的操作系統是Windows 7 謝謝大家提前。

+0

嘗試在C#端使用UTF8編碼。我認爲ASCII不支持希伯來語 –

+0

謝謝你的回覆,這也是問題,我的語言在android需要在希伯來語,並使編碼既java和c#UTF-8 – Joe

+0

很高興聽到它的工作並感謝您的反饋 – Pomagranite

回答

0

在設備上進入設置/語言&輸入並確保語言是希伯來語或希伯來語的意思是希伯來語。這應該設置設備locale我不顯示它列出但我不知道希伯來語。部分HTTP請求中的標題明確地接受語言:lain/hebrewthis希伯來語是utf-8的一部分,但您確實有權利向左。如果您沒有希伯來語鍵盤進行測試,此trick可能會有用。祝你好運

0

這個工作對我來說:

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