Nachdem Sie den Notepad++-Editor zum Schreiben von Java-Code verwendet und dann Javac zum Kompilieren verwendet haben, tritt ein solcher Fehler auf! (Empfohlenes Lernen: notepad++)
Der Code lautet wie folgt:
Der Fehler ist wie folgt: Bild:
Fehlergrund:
Da das JDK eine internationale Version ist, wann Wenn wir beim Kompilieren nicht den Parameter -encoding verwenden, um das Codierungsformat unseres JAVA-Quellprogramms anzugeben, erhält javac.exe zunächst das von unserem Betriebssystem standardmäßig verwendete Codierungsformat. Wenn wir das Codierungsformat der Quellprogrammdatei nicht angeben, ruft JDK zunächst den file.encoding-Parameter des Betriebssystems ab (es speichert das Standardcodierungsformat des Betriebssystems, z. B. WIN2k, sein Wert ist GBK) und Anschließend konvertiert JDK unser Java-Quellprogramm vom Codierungsformat file.encoding in das interne JAVA-Standard-UNICODE-Format in den Speicher.
Dann kompiliert Javac die konvertierte Unicode-Formatdatei in eine .class-Klassendatei. Zu diesem Zeitpunkt ist die .class-Datei UNICODE-codiert und wird vorübergehend im Speicher abgelegt Eine UNICODE-Datei. Die codierte und kompilierte Klassendatei wird in unserem Betriebssystem gespeichert, um die angezeigte .class-Datei zu bilden.
Für uns ist die .class-Datei, die wir schließlich erhalten haben, eine Klassendatei, deren Inhalt im UNICODE-Codierungsformat gespeichert ist. Sie enthält die chinesische Zeichenfolge in unserem Quellprogramm, wurde jedoch zu diesem Zeitpunkt durch die Datei geleitet. Das Kodierungsformat wird in das UNICODE-Format konvertiert.
Wenn wir ohne Einstellung kompilieren, entspricht dies der Verwendung des Parameters: javac -encoding gbk XX.java. Natürlich kommt es zu Inkompatibilität.
Lösung:
Menü: Einstellungen → Präferenzen → Neu, wählen Sie die Kodierungsmethode ANSI aus.
Das obige ist der detaillierte Inhalt vonNotepad++Java-Code, der die nicht zuordenbaren Zeichen von GBK kodiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!