Afficher correctement les caractères accentués dans une console Windows

Par défaut sous Windows, une console de commande affiche les caractères dans la page de code DOS qui correspond aux paramètres régionaux locaux. Cela rend l’affichage avec System.out.println() de texte accentué tapé sous un éditeur Windows incorrect avec des caractères bizarres.

Pour pallier ce problème, vous devez faire appel aux flux de caractères qui permettent la conversion des caractères entre les différents encodages.

L’exemple suivant permet l’affichage d’un texte accentué dans une console Windows en conservant un affichage correct sur un Windows paramétré avec des options régionnales françaises.

import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.nio.charset.Charset;


public class WindowsConsoleConverter {
    public static void main(String[] args) {
        try {
            PrintWriter outWriter = new PrintWriter(new OutputStreamWriter(
                    System.out, Charset.forName("CP850")), true);
            outWriter.println("Test de mot accentué");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Laboratoire SUPINFO des technologies Sun
labo-sun@supinfo.com


Conditions d'utilisation et © Copyright SUPINFO International University
23, rue de Château Landon - 75010 PARIS - Tél : +33 (0) 153359700 Fax : +33 (0) 153359701
Respect de la vie privée