【问题标题】:Unicode in AndroidAndroid中的Unicode
【发布时间】:2015-06-09 10:47:52
【问题描述】:

我在android中打印补码符号有点问题。

 char c = '\u2216'; 
 // should be the unicode for complement
 textView2.setText(c); 
 // gives out "" nothing
 // if i take
 c = '\u2229'
 // it works

但是为什么我不能打印出补码,错误在哪里? 如果有人有解决方案,分享它会非常好。谢谢!

【问题讨论】:

  • 你能告诉我哪个特殊字符
  • 我想打印补码,unicode 符号是 2216 不起作用。但是如果我取 2229 它会给出正确的 unicode 符号。但是对于 2216 它没有打印出正确的符号,它在 textView 中是空的
  • 我发现:Android Studio ask if "textView2.setText('u\2216');"应转换为 unicode。如果我同意,就会出现正确的符号。但通常,这也适用于 char c = '\u...' 但不适用于我的所有符号。只为少数人
  • 我认为是字体问题。字体可能无法定义所有 Unicode 字符。

标签: android unicode


【解决方案1】:

我认为这是一个字体问题.. Android Studio 使用的字体支持该字符,而 android 设备(可能是机器人字体系列)不包含该字形.. 解决方案是使用正确的字体。

如何在项目中添加自定义字体:https://stackoverflow.com/a/27588966/2267723

以下是支持该字符 (U+2216) 的字体列表: http://www.fileformat.info/info/unicode/char/2216/fontsupport.htm

【讨论】:

  • 感谢您的出色解决方案!
【解决方案2】:

由于您设备的字体不支持该字符“∩”,您需要嵌入支持该字符的字体。

Typeface tf = Typeface.createFromAsset(context.getAssets(), "yourfontname.ttf");
//You will need to copy the font to assets folder.
textView2.setTypeface(tf);

【讨论】:

    猜你喜欢
    • 2011-04-26
    • 1970-01-01
    • 2011-02-21
    • 2020-11-18
    • 1970-01-01
    • 2013-01-17
    • 2021-05-17
    • 2011-07-15
    • 1970-01-01
    相关资源
    最近更新 更多