在android中显示希伯来语字符

Posted

技术标签:

【中文标题】在android中显示希伯来语字符【英文标题】:Display Hebrew Characters in android 【发布时间】:2016-04-16 19:40:52 【问题描述】:

我正在尝试通过 tcp 从 c# 向 java(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(安卓):

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 提前谢谢大家。

【问题讨论】:

在 C# 端尝试使用 utf8 编码。我认为 ASCII 不支持希伯来语 谢谢您的回复,也是问题所在,我在android中的语言需要是希伯来语,并且还要将java和c#编码为UTF-8 很高兴听到它的工作,并感谢您的反馈 【参考方案1】:

这对我有用:

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

【讨论】:

【参考方案2】:

在设备上转到设置/语言和输入并确保语言是希伯来语或希伯来语中的希伯来语怎么说。这应该设置设备locale 我没有列出它,但我又不知道希伯来语。 http请求中的部分标头特别是Accept-Language:lain/hebrew和this希伯来语是utf-8的一部分,但你确实有从右到左的东西。如果您没有用于测试的希伯来语键盘,此trick 可能会很有用。祝你好运

【讨论】:

以上是关于在android中显示希伯来语字符的主要内容,如果未能解决你的问题,请参考以下文章

Android 8.1 自定义热点的时候设置了热点maxLength="32",但是在希伯来语等状态下还是发现在没到32个字符之前就无法把热点设置成功了

Android 中的希伯来语短信

输入希伯来语时,PayPal 捐赠说明显示字符损坏

使用 GCM 从 java 服务器向 android 手机发送希伯来语推送通知时出现乱码

Android RTL 及小语种 适配

Android RTL 及小语种 适配