有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何让Java使用正确的字符集?

我们的服务器运行在CentOS上,我们的Java后端有时必须使用CP-1252处理最初在Windows机器上生成的文件(由我们的一个客户机生成),但是在95%以上的使用案例中,我们正在处理UTF-8文件

我的问题:如果我们知道某些文件将始终为UTF-8,而其他文件将始终为CP-1252,那么是否可以在Java中指定用于读取每个文件的字符集?如果是:

  • 我们是否需要在系统级别上为CentOS添加CP-1252做些什么?如果是,这涉及到什么
  • 我们将使用哪些Java对象对每个文件应用正确的编码

提前谢谢


共 (2) 个答案

  1. # 1 楼答案

    My question: if we know that certain files will always be UTF-8, and other files will always be CP-1252, is it possible to specify in Java the character set to use for reading in each file?

    假设您负责读取文件的代码,那么应该可以。创建一个FileInputStream,然后将其包装在指定相关字符编码的InputStreamReader

    Do we need to do anything at the systems-level for adding CP-1252 to CentOS? If so, what does this involve?

    这取决于JRE支持什么。我从来没有使用过CentOS,所以我不知道它是否可能与相关编码一起作为JRE的一部分。您可以使用^{}进行检查,并使用^{}列出可用的内容

  2. # 2 楼答案

    您所需要做的就是指定使用XXXReader(InputStream in, Charset cs)时原始文件写入的字符集/编码。例如,看看InputStreamReader