Après avoir utilisé l'éditeur notepad++ pour écrire du code java, puis utilisé javac pour compiler, une telle erreur se produit ! (Apprentissage recommandé : notepad++)
Le code est le suivant :
L'erreur est la suivante Image :
Raison de l'erreur :
Puisque le JDK est une version internationale, lorsque lors de la compilation, si nous n'utilisons pas le paramètre -encoding pour spécifier le format d'encodage de notre programme source JAVA, alors javac.exe obtiendra d'abord le format d'encodage utilisé par notre système d'exploitation par défaut. si nous ne spécifions pas le format d'encodage du fichier programme source, JDK obtiendra d'abord le paramètre file.encoding du système d'exploitation (il enregistre le format d'encodage par défaut du système d'exploitation, tel que WIN2k, sa valeur est GBK), et Ensuite, JDK convertit notre programme source Java du format d'encodage file.encoding au format UNICODE interne par défaut JAVA en mémoire.
Ensuite, javac compile le fichier au format Unicode converti en un fichier de classe .class. À ce stade, le fichier .class est codé en UNICODE et il est temporairement placé dans la mémoire. un fichier UNICODE Le fichier de classe codé et compilé est enregistré sur notre système d'exploitation pour former le fichier .class que nous voyons.
Pour nous, le fichier .class que nous avons finalement obtenu est un fichier de classe dont le contenu est enregistré au format d'encodage UNICODE. Il contient la chaîne chinoise dans notre programme source, mais pour le moment elle a été transmise via fichier. Le format d'encodage est converti au format UNICODE.
Quand on compile sans réglage, cela équivaut à utiliser le paramètre : javac -encoding gbk XX.java Bien sûr, une incompatibilité se produira.
Solution :
Menu : Paramètres → Préférences → Nouveau, sélectionnez la méthode d'encodage ANSI.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!