Since Java string are Unicode encoded, you must specified a different encoding when printing to a DOS console. This is done via the OutputStreamWriter class.

 import java.io.*;

public class DosString {
  public static void main(String args[]){
    String javaString = 
      "caractères français :  à é \u00e9";  // Unicode for "é"
    try {
      // output to the console
      Writer w = 
        new BufferedWriter
           (new OutputStreamWriter(System.out, "Cp850"));
      w.write(javaString);
      w.flush();
      w.close();  
      }
   catch (Exception e) {
      e.printStackTrace();
      }
   }
  }

An alternative is to start the JVM and pass on the command line the default file encoding to be used. Then you will be able to use regular System.out.println().

  javac MyApp.java
  java -Dfile.encoding=Cp850 MyApp

 

Alternate technique

 import java.io.*;

public class test {
   public static void main(String[] args) {
     PrintStream ps = null;
     String javaString = 
      "caractères français :  à é \u00e9";  // Unicode for "é"

     try {
       ps = new PrintStream(System.out, true, "Cp850");
     } catch (UnsupportedEncodingException error) {
       System.err.println(error);
       System.exit(0);
     }

     ps.println(javaString);
   }
}