【问题标题】:Read a textfile in assets containing åäö读取包含 åäö 的资产中的文本文件
【发布时间】:2012-10-23 14:12:49
【问题描述】:

我在从资产文件夹中的文件中读取文本时遇到一些问题。
它根本不想显示 åäö,我使用了在不同 StackOverflow 帖子中找到的这段代码,但它不起作用。我只得到“?”而是

这是代码:

public void loadQuestions() throws IOException {
    atStart = false;

    InputStreamReader reader = new InputStreamReader(getAssets().open("questions.txt"), "UTF-8");
    BufferedReader br = new BufferedReader(reader); 
    String line = br.readLine();
    while (line != null) {
        Log.d("TAG", line);
        questions.add(line);
        line = br.readLine();
    }
}

【问题讨论】:

  • 你怎么知道你得到了?也许问题在于显示字符,而不是阅读它们。
  • 我在 LogCat 和 textview 中显示它们,它是相同的。我得到“?”在每个 åäö 上。
  • 查看您阅读的行并检查这些字符的 binary 值,以确保它确实是输入问题。
  • 我发现了问题,当我保存我的文本文件时,我必须使用 UTF-8 而不是 ANSI 的编码来保存它。

标签: android utf-8 inputstream assets


【解决方案1】:

我自己发现了问题。
当我保存我的文本文件时,我必须使用 UTF-8 编码而不是 ANSI 来保存它。

【讨论】:

    【解决方案2】:

    使用 ISO-8859-15,如下所示:它有效:

    InputStreamReader reader = new 
    InputStreamReader(getAssets().open("questions.txt"), "ISO-8859-15");
    

    【讨论】:

      猜你喜欢
      • 2015-01-22
      • 1970-01-01
      • 2012-12-26
      • 2017-12-02
      • 1970-01-01
      • 2017-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多