在android中显示hindi文本时的奇怪字符

时间:2016-12-20 10:40:13

标签: android encoding character-encoding hindi

我想在hindi中显示一些我从服务器获取的文本。

在显示文本时,会显示一些奇怪的字符(ààà¥à¤¸à¥à¤à¤¿à¤à¤)。 但在iOS中它显示完美

我认为它有一些编码问题

3 个答案:

答案 0 :(得分:2)

默认情况下,Android手机(现在有些支持)不支持梵文字体。但是,如果您想在Android应用程序中使用hindi,tamil,bangali或其他梵文字体,您可以选择使用外部字体。

请按照以下步骤操作......

  1. 下载您希望在应用程序中使用的外部梵文字体。 恩。 (Verdana.ttf或anand-lipi-bold)

  2. 在资源下创建一个新文件夹“fonts”,并将下载的.ttf字体复制到您的assets / font文件夹中。

  3. 然后将.ttf加载到TextView。

    TextView tv = (TextView) findViewById(R.id.textView);
        Typeface fontHindi = Typeface.createFromAsset(getAssets(),
                "fonts/Ananda Lipi Bold Cn Bt.ttf");
        tv.setTypeface(fontHindi);
        tv.setText("Hindi font");
    

    希望这会对你有所帮助。

答案 1 :(得分:1)

请使用以下代码获取字符串

new String("Your String".getBytes("ISO-8859-1"), "utf-8")

我还从服务器上获取了一些阿拉伯语字符串,它显示了一些像你这样的字符,但在使用它之后就解决了

此处可以使用编码类型代替ISO-8859-1,其中数据在服务器端编码

答案 2 :(得分:0)

我自己终于得到了答案 我使用volley作为我的网络库,默认情况下它的编码是latin-1 所以在改成utf-8之后它完美地运作了

感谢大家的帮助