首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角色UTF-16 my没有显示在我的Android本体上。

角色UTF-16 my没有显示在我的Android本体上。
EN

Stack Overflow用户
提问于 2017-03-04 19:23:19
回答 1查看 240关注 0票数 0

我正在开发一个安卓应用程序,我需要在TextView上显示一个特殊的UTF-16 in字符,比如Œ或Œ,或者我发布的图片中的那个。

我不明白为什么在努格特模拟器上,以及在棒棒糖和Marshmallow智能手机上,一切都是正确的。而在我个人的Android本体上,我只能看到":“字符而不是正确的字符。

(,在左边的图片中,那个字符不是一个正常的口音,我不是一个正常的I)

为什么我不能在智能手机上显示这些特殊字符呢?我该怎么做呢?

我调试了我的应用程序,并在我的TextView上正确地设置了字符;但是,我仍然不能正确地读取它们。

我的智能手机(最新软件升级版的OnePlus3)似乎无法读取UTF-16 me字符,但对我来说,面对这样的事情还是很奇怪的。

任何帮助都是非常感谢的,

祝您今天愉快。

UPDATE:我在智能手机上下载了https://play.google.com/store/apps/details?id=org.madore.android.unicodeMap,而且我的智能手机上似乎没有很多这些unicode字符,有什么方法可以修复它吗?我只需要安装一个更好的字体吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-05 15:09:54

我解决了我的问题,我就是这么做的。(和往常一样,也要感谢@Claffolo,我的队友)

我在我的android资产中引入了一种像Gentium这样的免费版权字体。/资产/字体/

在我的项目中,我导入了新字体并插入了这样一个变量

代码语言:javascript
复制
        Typeface plain = Typeface.createFromAsset(getActivity().getAssets(), "fonts/GentiumPlus-I.ttf");

    final TextView text_view = (TextView)view.findViewById(R.id.text_view);
    text_view.setTypeface(plain);
   text_view.setText("[String with special characters]");

当我用所有特殊字符加载我的ArrayList时,让我们假设我的单词列表

我这样做的方式如下:

代码语言:javascript
复制
//Loading my Wordlist
BufferedReader line_reader = new BufferedReader(new InputStreamReader(activity.getResources().openRawResource(R.raw.ipautf16le), Charset.forName("UTF-16LE")));

String line;
try {
    while ((line = line_reader.readLine()) != null) {
        WordList.add(line);
    }
} catch (IOException e) {
    e.printStackTrace();
}

Collections.sort(WordList);

就这样。

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

https://stackoverflow.com/questions/42600305

复制
相关文章

相似问题

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