Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:显示为长方体的字符_Java_Android - Fatal编程技术网

Java Android:显示为长方体的字符

Java Android:显示为长方体的字符,java,android,Java,Android,我有一个显示日语字符的应用程序,但由于某种原因,波浪号(~)字符显示为一个方框(看起来像这样,但只有一个字符:[]) 这是在我将文本应用到TextView之后。我从JSON字符串中获取文本 让我不安的是,Java字符串不是unicode吗?有人知道我需要修理什么吗 characters = getCharacterFromJSON(); // set character TextView charTextView = (TextView)findViewById(R.id.characterV

我有一个显示日语字符的应用程序,但由于某种原因,波浪号(~)字符显示为一个方框(看起来像这样,但只有一个字符:[])

这是在我将文本应用到TextView之后。我从JSON字符串中获取文本

让我不安的是,Java字符串不是unicode吗?有人知道我需要修理什么吗

characters = getCharacterFromJSON();

// set character
TextView charTextView = (TextView)findViewById(R.id.characterView);
charTextView.setText(characters);


编辑:它不是波浪号(~),而是日语字符(~),表示这些字符是后缀。但它仍然没有显示。

很可能是字体问题。大多数安卓设备附带的默认字体并不完全支持所有日文字符:一些汉字使用中文字形显示,更多晦涩字符根本不显示(方框)。您有几个选择:

  • 如果这是供您自己使用的,并且您有根手机,请安装droidansjapanese.ttf字体(复制到
    /system/fonts
  • 如果它是您要分发的应用程序,请将字体捆绑到资源中,并设置文本视图以使用它

您是否尝试过使用utf-8对其进行解码?比如
charTextView.setText(urldecker.decode(characters,HTTP.UTF-8))刚刚试过,不,这似乎不是问题。顺便说一下,为什么我需要对它进行URL解码?它是从服务器上获取的,这是真的,但我看不出URL是如何编码的。它所呈现的字体是否定义了波浪号字符?是的。尝试使用字体并检查字体
// Ack! all my ~'s are []!