81 votes

Propriété JVM -Dfile.encoding=UTF8 ou UTF-8 ?

Je voudrais savoir quelle est la valeur de la propriété de la machine virtuelle Java (JVM) pour définir l'encodage de mon fichier sur UTF-8.

Est-ce que je mets -Dfile.encoding=UTF8 o -Dfile.encoding=UTF-8 ?

64voto

planetjones Points 6479

Il le sera :

UTF8

Voir aquí pour les définitions.

25voto

javabrett Points 151

Si, en exécutant un Oracle HotSpot JDK 1.7.x, sur une plate-forme Linux où votre locale suggère UTF-8 (par ex. LANG=en_US.utf8 ), si vous ne le définissez pas en ligne de commande avec la commande -Dfile.encoding le JDK utilisera par défaut file.encoding et la valeur par défaut Charset comme ça :

System.out.println(String.format("file.encoding: %s", System.getProperty("file.encoding")));
System.out.println(String.format("defaultCharset: %s", Charset.defaultCharset().name()));

... rendements :

file.encoding: UTF-8
defaultCharset: UTF-8

... suggérant que la valeur par défaut est UTF-8 sur une telle plateforme.

En outre, si java.nio.charset.Charset.defaultCharset() trouve file.encoding non défini, il recherche java.nio.charset.Charset.forName("UTF-8") ce qui suggère qu'il préfère cette chaîne, bien qu'elle soit bien alignée, donc "UTF8" fonctionnera aussi très bien.

Si vous exécutez le même programme sur la même plateforme avec java -Dfile.encoding=UTF8 sans le trait d'union, cela donne :

file.encoding: UTF8
defaultCharset: UTF-8

... notant que le jeu de caractères par défaut a été canonisé à partir de UTF8 a UTF-8 .

11voto

cuaquero Points 56

Les deux UTF8 et UTF-8 fonctionnent pour moi.

8voto

Milimetric Points 7539

Ce n'est pas une réponse directe, mais très utile si vous n'avez pas accès à la façon dont java démarre : vous pouvez définir la variable d'environnement JAVA_TOOLS_OPTIONS a -Dfile.encoding="UTF-8" et à chaque fois que le jvm démarrera, il prendra cette option.

8voto

livejq Points 394

[INFO] BUILD SUCCESS Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 En tout cas, ça marche pour moi :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X