bonjour,
débutant en programmation , je créer mes premier programme en MS DOS;
mais lors de l'exécution mais lettre é,è,à... se transforme en lettre bizzare?!?8O
une explication?
merci
Version imprimable
bonjour,
débutant en programmation , je créer mes premier programme en MS DOS;
mais lors de l'exécution mais lettre é,è,à... se transforme en lettre bizzare?!?8O
une explication?
merci
C'est un problème d'encodage.
Alors j'ai pas trop l'habitude mais une méthode bourrin c'est:
bonne chance :ccool:Code:
1
2
3 // pour afficher été System.out.println("\u00e9t\u00e9");
Tu utilise encore msdos !!! je pense que tu es sur le mauvais forum... Est ce que c'est bien des programme java que tu crée ?
Salut,
Les caractères accentuées sont correctement supporté par Java...
Le problème vient en fait de Windows qui utilise deux encodage différents selon qu'on utilise une application en mode graphique ou en mode console... Sur les systèmes français cela se traduit généralement par les encodages windows-1252 et cp850...
Or les programmes compilés utilise l'encodage par défaut du système (windows-1252) pour l'afficher dans une console qui attend un encodage spécifique (cp850)... ce qui donne n'importe quoi dès qu'on sort des caractères ASCII de base :(
:arrow: Ce problème existe dans tous les langages sous Windows !
La solution la plus simple serait de lancer le programme avec l'option -Dfile.encoding=cp850 afin de modifier l'encodage par défaut (attention cela peut impacter d'autres choses dans ton code).
Une autre solution serait de passer uniquement par la classe Console de Java 6, ou de redéfinir l'encodage des E/S sous Windows... Mais là aussi ce n'est pas exempt de problème potentiel !
En fait le plus simple serait d'éviter d'utiliser la console DOS... qui est vraiment pourri :(
a++
C'est sure la console MS-DOS c'est pas terrible.. mais faut bien commencer quelque part... tout le monde n'est pas capable de pondre une inteface graphique dès ses débuts en Java.... d'ailleurs je vois mal quelqu'un commencer cash sur de l'interface graphique sans en passer par là et s'en sortir :mrgreen:
En fait il faut vérifier deux chose:
1) est-ce que le code source, à la compilation, a été lu avec le même encodage que celui qui a été utilisé pour l'écrire. Si non, alors le code binaire est déjà mauvais.
2) est-ce que l'output console java est dans l'encodage correct pour la console? Comme déjà mentionné, -Dfile.encoding permet de préciser l'encodage de la console, mais aussi d'autre chose, ce qui n'est pas nécessairement voulu.
Je ne parle pas d'interface graphique ;)
Je reproche simplement un des gros défaut de la console DOS... Défauts que l'on ne retrouve pas sur les consoles des autres systèmes.
En effet si le problème d'encodage à lieu lors de la compilation on peut se retrouver avec un binaire incorrect.
Mais ce type de problème survient généralement lorsqu'on "transfère" des sources d'un système à un autre...
a++
ou que l'éditeur qu'on a choisi sauve par défaut en UTF-8 alors que javac utilise par défaut de l'iso-8859-1 ;)