Android无法识别的字符显示为“?”

时间:2012-07-20 08:17:14

标签: android parsing

我有一个应用程序而不是解析csv并显示其内容。我的问题是显示' - '作为'?'钻石里面。我该怎么办才能显示出来?

编辑:这是我打开文件的代码

InputStream input = openFileInput("pms.csv");
SchedController.reader = new CSVReader(new InputStreamReader(input, "US-ASCII"));
SchedController.sched = SchedController.reader.readAll();
input.close();

我已尝试US-ASCIIUTF-8 ...

4 个答案:

答案 0 :(得分:2)

以前答案的建议编码并没有解决我的问题。我尝试了编码“windows-1252”,我发现here并且它有效:

CSVReader reader = new CSVReader(new InputStreamReader(input, "windows-1252"));

答案 1 :(得分:1)

您可以通过以下方式设置编码类型:

StandardFonts.WIN_ANSI_ENCODING

或者可以在字符串中进行更改:

       newString = oldString.replace(")", "\\)");
       newString = oldString.replace("(", "\\(");

答案 2 :(得分:0)

尝试将字符编码更改为 UTF-8

SchedController.reader = new CSVReader(new InputStreamReader(input, "UTF-8"));

答案 3 :(得分:0)

您也可以参考以下帖子

https://stackoverflow.com/a/2680834/1441666

Android支持以下编码

  • Xml.Encoding ISO_8859_1
  • Xml.Encoding US_ASCII
  • Xml.Encoding UTF_16
  • Xml.Encoding UTF_8