2011-10-25 4 views
4

d'où Java extrait le codage par défaut?D'où Java extrait le codage par défaut?

J'ai essayé le code suivant 2: RedHat 4 plateformes et CentOS 5

public class EncodingTest { 
    public static void main(String args[]) throws Exception{ 
    System.out.println(System.getProperty("file.encoding")); 
    System.out.println(
       new java.io.OutputStreamWriter(
           new java.io.ByteArrayOutputStream()).getEncoding() 
       ); 
    } 
} 

J'ai deux résultats différents, UTF-8 RedHat et CentOS ASCII. C'est la même installation et la même version de Java (1.4). Je lance java sans paramètre -Dfile.encoding.

Merci.

+0

Voir [cette question] (http://stackoverflow.com/questions/1749064/how-to-find-default-charset-encoding -in-java) - il décrit un bug qui peut vous affecter. – finnw

Répondre

2

Le jeu de charset de plate-forme par défaut provient du système d'exploitation et dépend des paramètres régionaux par défaut. Si vous obtenez des résultats différents sur différentes machines, ces machines ont des paramètres régionaux par défaut différents. Maintenant, cela dépend de vos besoins. Si vous souhaitez que votre application fonctionne exactement de la même manière sur tous les charset de la plateforme en utilisant -Dfile.encoding

+1

Savez-vous quel paramètre OS, variable d'environnement? –