|
|
|
|
Bonjour,
je suis en 1ère année de dut informatique et je fais de la programmation en cours (du Java)
je me suis donc arrangé pour pouvoir coder en Java chez moi (sous vista)... tout marche bien sauf un petit détail : les caractères spéciaux ne s'affichent pas (genre les accents...). du moins, ça n'affiche pas le bon caractère
par exemple, lorsque je fais mon programme et qu'à tel ou tel moment, y une phrase qui s'affiche avec un "é" quelque part, il m'affichera "ù" à la place... ce qui est gênant, mais à part ça, mon programme fonctionne comme il faut
est-ce que vous pourriez me dire une façon d'afficher ces caractères ? (j'ai vu qu'on pouvait les mettre en y mettant le code unicode, mais bon, c'est galère à la longue, je trouve)
donc voila, merci ^^
autre question qui peut paraître très con mais bon, tant pis. j'utilise notepad++ pour écrire mes programmes. je change les paramètres de coloration syntaxique et la police.... ùais je suis obligé de le refaire à chaque fois que je lance le programme. c'est normal ou c'est moi qui zappe un truc ?
merci aussi ^^
Hello,
|
Oui, c'est une histoire d'encodage... Je n'ai jamais compris exactement le pourquoi et comment de cette affaire (et je me dis toujours que je devrais regarder). Et pas uniquement la sortie Java qui est limitée comme ça... D'autres programmes (comme sqlplus d'Oracle, par exemple) ont exactement le même comportement. Je me dis toujours que ce n'est pas important, vu que l'on ne distribue plus des applications console =)
|
J'ai une autre question concernant seulement java
|
Salut,
import java.io.Writer;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
// .......
// .......
public class LeProgramme
{
// .......
// .......
// .......
// pour la méthode accents()
private static Writer w;
private static String ligne_avec_accents = "";
// plus géneralement
private static String nL1;
private static String nL2;
// .......
// .......
// la méthode accents()
public static void accents()
{
try
{
// sortie à la console MSDOS avec les caractères accentués
w = new BufferedWriter
(new OutputStreamWriter(System.out, "Cp850"));
w.write(ligne_avec_accents);
w.flush();
//w.close(); Doit etre faite apres le dernier affichage,
//donc en fin de programme (dans notre exemple en fin de méthode main(...
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String args[])
{
nL1 = System.getProperty("line.separator");
nL2 = nL1;
nL2 = nL2.concat(nL1);
//Tu as ceci à afficher en utilisant la méthode accents():
String phrase = "Pour l'affichage de caractères accentués à la console MSDOS:" + nL1
+ "utiliser la méthode accents().";
System.out.println(nL1 + "Avec println: " + phrase);
//Appel de la méthode:
ligne_avec_accents = "Avec la méthode accents():" + nL1
+ phrase + nL2; // ou bien entendu:
//ligne_avec_accents = "Avec la méthode accents():" + nL1
//+ "Pour l'affichage de caractères accentués à la console MSDOS:" + nL1
//+ "utiliser la méthode accents()" + nL2;
accents();
//Tu as ceci à afficher en utilisant la méthode accents():
String laLigne = "Tu as ceci à afficher en utilisant la méthode accents().";
System.out.println("Avec println: " + laLigne);
//Appel de la méthode:
ligne_avec_accents = "Avec la méthode accents():" + nL1
+ laLigne + nL2;
accents();
// ou tout simplement:
ligne_avec_accents = phrase + nL1 + laLigne + nL1;
accents();
// .......
// .......
// .......
//en fin de programme on ferme Writer:
try
{
w.close();
}
catch (Exception e)
{
e.printStackTrace();
}
} // FIN METHODE main
}
Cordialement, Dan |
Hello Dan,
|