发布于2024-12-03 09:16 阅读(1076) 评论(0) 点赞(0) 收藏(4)
我有一个应用程序,用于检索 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 文件显示文本,但没有成功。我在三星 Galaxy Tab 2 7.0 上运行该应用程序
Android 默认支持阿拉伯语。对于服务器端的印地语,您应该对印地语文本进行 unicode 编码,然后在客户端(android)解码文本并打印值。请记住,在客户端和服务器端都应该使用相同的字体对文本进行 unicode 编码和解码。(例如,我使用了 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);
作者:黑洞官方问答小能手
链接:http://www.javaheidong.com/blog/article/694090/98e14625f915804c1fb4/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!