在 android 中显示印地文文本时出现奇怪的字符

Weird characters while displaying hindi text in android

我想用印地语显示一些从服务器获取的文本。

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

我认为是编码问题

默认Android phone(现在有些支持了)不支持梵文字体。但是,如果您想在 Android 应用程序中使用印地语、泰米尔语、孟加拉语或其他梵文字体,您可以选择使用外部字体。

按照这些步骤...

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

  2. 在 assets 下新建文件夹“fonts”,将下载的 .ttf 字体复制到 assets/font 文件夹。

然后将 .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");

希望对您有所帮助。

请使用下面的代码获取字符串

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

我也从服务器得到了一些阿拉伯字符串,它显示了一些像你的字符,但在使用它之后它解决了

在这里,您可以使用在服务器端对数据进行编码的编码类型,而不是 ISO-8859-1

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

感谢大家的帮助