首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我将语言转换为阿拉伯语时,调用日志页不显示数据。

当我将语言转换为阿拉伯语时,调用日志页不显示数据。
EN

Stack Overflow用户
提问于 2017-08-23 02:54:40
回答 1查看 67关注 0票数 1

在我的android项目中,当我切换语言为阿拉伯语时,调用日志页面不显示数据,但是当我切换到其他语言(如英语)时,可以正确显示,如何解决,请参阅以下信息。

1. callLog适配器代码的一部分如下:

代码语言:javascript
运行
复制
 //显示归属地
        if (callLog.getBelong_area() != null && !callLog.getBelong_area().equals("")) {
            LogE.e("item","有归属地:"+callLog.getBelong_area());
            holder.belong_area.setVisibility(View.VISIBLE);
            holder.belong_area.setText(callLog.getBelong_area());
        } else {
            LogE.e("item","没有有归属地");
            holder.belong_area.setText("");
            holder.belong_area.setVisibility(View.GONE);
        }

2.当我输入一个固定值时,它仍然不显示数据,例如:

代码语言:javascript
运行
复制
holder.belong_area.setText("北京"); 

3.将日志打印如下:

08-23 10:07:13.241 17494-17494/com.allinone.callerid E/项目:有归属地:北京08-23 10:07:13.607 17494-17494/com.allinone.callerid E/项目:有归属地:石家庄市08-23 10:07:13.674 17494-17494/com.allinone.callerid E/项目:有归属地:北京08-23 10:07:13.674 17494-17494/com.allinone.callerid E/项目:有归属地:湖北省,武汉市

4.运行时屏幕截图:

阿拉伯语(错),

在这里输入图像描述

英语(右)

在这里输入图像描述

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-23 04:14:45

你应该有适当的字符集的系统。

您可以检查折叠代码以检测语言的字符集。

代码语言:javascript
运行
复制
public class CharsetDetectTest {

    public static void main(String[] args) {
        detectCharset("北京");
    }

    public static void detectCharset(String originalStr) {

        String[] charSet 
          = { "utf-8", "big5", "EUC-CN", "iso-8859-1", "gb2312" };

        for (int i = 0; i < charSet.length; i++) {
            for (int j = 0; j < charSet.length; j++) {
                try {
                    LogE.e("charaters",
                        "[" + charSet[i] + "==>" + charSet[j] + "] = "
                        + new String(originalStr.getBytes(charSet[i]), charSet[j]));
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}

调试输出将是

代码语言:javascript
运行
复制
[utf-8==>utf-8] = 北京
[utf-8==>big5] = ��鈭�
[utf-8==>EUC-CN] = ��浜�
[utf-8==>iso-8859-1] = å京
[utf-8==>gb2312] = ��浜�
[big5==>utf-8] = �_��
[big5==>big5] = 北京
[big5==>EUC-CN] = �_ㄊ
[big5==>iso-8859-1] = ¥_¨Ê
[big5==>gb2312] = �_ㄊ
[EUC-CN==>utf-8] = ����
[EUC-CN==>big5] = 控儔
[EUC-CN==>EUC-CN] = 北京
[EUC-CN==>iso-8859-1] = ±±¾©
[EUC-CN==>gb2312] = 北京
[iso-8859-1==>utf-8] = ??
[iso-8859-1==>big5] = ??
[iso-8859-1==>EUC-CN] = ??
[iso-8859-1==>iso-8859-1] = ??
[iso-8859-1==>gb2312] = ??
[gb2312==>utf-8] = ����
[gb2312==>big5] = 控儔
[gb2312==>EUC-CN] = 北京
[gb2312==>iso-8859-1] = ±±¾©
[gb2312==>gb2312] = 北京

然后,使用一个正确的字符集。

代码语言:javascript
运行
复制
holder.belong_area.setText(new String("北京".getBytes("utf-8"), "utf-8")); 

代码语言:javascript
运行
复制
holder.belong_area.setText(new String("北京".getBytes("utf-8")); 

您可以查看中文字符站点

诚挚的问候,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45829913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档