code.google.com中的eula模块工作良好,但由于某些原因,它不显示unicode字符(例如)。
我知道AlertDialogs完全能够显示Unicode字符,因为我在我的应用程序的其他对话框中也这样做。
我在eula的对话框和其他对话框之间找到的唯一区别是eula.java对话框从assets文件夹中的文本文件获取其字符串:

  private static CharSequence readEula(Activity activity) {
    BufferedReader in = null;
    try {
      in = new BufferedReader(new InputStreamReader(activity.getAssets().open(ASSET_EULA)));
      String line;
      StringBuilder buffer = new StringBuilder();
      while ((line = in.readLine()) != null)
        buffer.append(line).append('\n');
      return buffer;
    }
    catch (IOException e) {
      return "";
    }
    finally {
      closeStream(in);
    }
  }

该文本文件在notepad++中显示所有unicode字符,因此我只能怀疑InputStreamReaderBufferedReaderStringBuilder在从资产文件到警报对话框的过程中对字符串执行了某些操作。
如何使eula.java显示Unicode?

最佳答案

给出源数据的编码;此类将数据转换为utf-16字符数据。

关于java - 如何使Eula.java显示Unicode?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6033726/

10-12 05:50