gpt4 book ai didi

java - Android显示外语字符串

转载 作者:行者123 更新时间:2023-11-30 03:34:12 25 4
gpt4 key购买 nike

我有一个应用程序,我可以在其中检索一些 JSON 格式的数据。 JSON 文件中的一些字符串是阿拉伯语、印地语等外语。我尝试使用 UTF-8 解码字符串,但它仍然显示乱码,而不是原始脚本。知道如何实现这一点吗?

编辑:我从 JSON 解码字符串的方法

String result; // result in string format obtained from server

JSONTokener tokener = new JSONTokener(result);

JSONObject obj = new JSONObject(tokener);

String msg = obj.getString("message");

TextView message = TextView) findViewById(R.id.inbox_msg);

try {

message.setText(new String(msg.getBytes(), "UTF-8"));

} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

我做错了什么?

附言: 我尝试使用 DroidHindi.ttf 文件来显示文本,但没有成功。我在 Samsung Galaxy Tab 2 7.0 上运行该应用

最佳答案

Android 默认支持阿拉伯语。对于服务器端的印地语,您应该对印地语文本进行统一编码,并在客户端 (android) 解码文本并打印值。请记住,在客户端和服务器端,您应该使用相同的字体来对文本进行统一编码和解码。(在 ex 中,我使用了 Kruti DEv 10.TTF)。 http://www.infowebservices.in/hindi/请引用此站点以将印地语文本转换为 unicode,否则请使用一些库。

LinearLayout mainLayout=new LinearLayout(this);
mainLayout.setOrientation(LinearLayout.VERTICAL);
setContentView(mainLayout);

TextView arbicView=new TextView(this);
arbicView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
arbicView.setText("الغارديان: انقسام بين سكان الجولان حول نظام الاسد");
mainLayout.addView(arbicView);


TextView hindiView=new TextView(this);
hindiView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
hindiView.setText("Hghgfdhgfhsdgfh h hhfh hkshfkuifyeryeuiryhdfjkhdfuiyerihjkfhsdjkyruiweyk");
hindiView.setTypeface(Typeface.createFromAsset(getAssets(), "Kruti Dev 10.TTF"));
mainLayout.addView(hindiView);

关于java - Android显示外语字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16898206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com