De la JVM des biens -Dfile.encoding=UTF-8 ou UTF-8?
Je voudrais savoir quelle est la valeur de la Machine Virtuelle Java (JVM) de propriété pour définir mon fichier en codage UTF-8.
Dois-je mettre -Dfile.encoding=UTF8
ou -Dfile.encoding=UTF-8
?
Vous devez vous connecter pour publier un commentaire.
[INFO] BUILD SUCCESS
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
De toute façon, ça fonctionne pour moi:)
Ce sera:
Voir ici pour les définitions.
UTF-8
est préféré auUTF8
- le seul format standard.UTF-8
, puisqu'il apparaît pour tous les types de défauts de paiement dans le JDK.UTF8
sans trait d'union - les commentaires pour cette réponse, cependant, vous conseille d'utiliser le hyphanated formeUTF-8
. Pas très utile.Si, l'exécution d'un Oracle HotSpot JDK 1.7.x, sur une plate-forme Linux où vos paramètres régionaux suggère UTF-8 (par exemple
LANG=en_US.utf8
), si vous n'avez pas le mettre sur la ligne de commande avec-Dfile.encoding
, le JDK par défautfile.encoding
et la valeur par défautCharset
comme ceci:... les rendements:
... ce qui suggère la valeur par défaut est
UTF-8
sur une telle plateforme.En outre, si
java.nio.charset.Charset.defaultCharset()
trouvefile.encoding
pas, il cherchejava.nio.charset.Charset.forName("UTF-8")
, ce qui suggère qu'il préfère cette chaîne, même s'il est bien lissés, donc, "UTF8" fonctionne également très bien.Si vous exécutez le même programme sur la même plate-forme avec
java -Dfile.encoding=UTF8
, sans le tiret, il donne:... notant que le jeu de caractères par défaut a été standardisée à partir de
UTF8
àUTF-8
.À la fois de l'utf-8 et UTF-8 pour moi.
Ce n'est pas une réponse directe, mais très utile si vous n'avez pas accès à la façon dont java commence: vous pouvez définir la variable d'environnement
JAVA_TOOLS_OPTIONS
à-Dfile.encoding="UTF-8"
et à chaque fois que la machine démarre, il va aller chercher cette option.