Почему преобразование из UTF-8 в ISO-8859-1 не одинаково в Windows и Linux?

У меня есть следующее в коде для преобразования из UTF-8 в ISO-8859-1 в файле jar, и когда я выполняю этот jar в Windows, я получаю один результат, а в CentOS - другой. Может кто-нибудь знает почему?

public static void main(String[] args) {

  try {

    String x = "Ä, ä, É, é, Ö, ö, Ü, ü, ß, «, »";

    Charset utf8charset = Charset.forName("UTF-8");
    Charset iso88591charset = Charset.forName("ISO-8859-1");

    ByteBuffer inputBuffer = ByteBuffer.wrap(x.getBytes());
    CharBuffer data = utf8charset.decode(inputBuffer);

    ByteBuffer outputBuffer = iso88591charset.encode(data);
    byte[] outputData = outputBuffer.array();

    String z = new String(outputData);

    System.out.println(z);
  }
  catch(Exception e) {
    System.out.println(e.getMessage());
  }
}

В Windows java -jar test.jar> test.txt создает файл, содержащий: Ä, ä, É, é, Ö, ö, Ü, ü, ß, «,»

но в CentOS я получаю: ?, ä, ?, é, ?, ö, ?, ü, ?, «,»

Ответы на вопрос(3)

Ваш ответ на вопрос