2016-04-16 9 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-часть (окна-1255, UTF-8, ASCII, iso-8859-8-i, iso-8859-8), но ничего не работает

моя ОС - это окна 7 Спасибо всем заблаговременно.

+0

попробовать на C# стороне использовать utf8 кодировке. Я думаю, что ASCII не поддерживает иврит –

+0

Благодарим за ответ, это тоже проблема, мой язык в андроиде должен быть на иврите, а также сделать кодировку как java, так и C# UTF-8 – Joe

+0

Рад слышать, как это работает и спасибо за отзывы – Pomagranite

ответ

0

На устройстве перейдите к настройкам/языку & ввода и убедитесь, что язык иврит или как вы говорите, иврит на иврите. Это должно установить устройство locale Я не показываю его в списке, но потом я не знаю иврита. Часть заголовков в http-запросе специально Accept-Language: lain/hebrew и this Иврит является частью utf-8, но у вас есть право налево. Этот trick может быть полезен, если у вас нет иврита для тестирования. Успехов

0

это работало для меня:

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

 Смежные вопросы

  • Нет связанных вопросов^_^