Ich verwende Java, Eclipse und Ant in meinem Projekt. Ich hatte etwas Java-Code, den ich zum Bearbeiten und Hinzufügen einiger UTF-8-Zeichen benötigte. Zuvor hatte meine build.xml: Und es hat gut funktioniert. Nachdem ich diese UTF-8-Zeichen hinzugefügt habe, wenn ich versuche, auszuführen, wird "error: unmappable character for encoding Cp1252" ausgegeben.
Könnte mir bitte jemand sagen, was das Problem ist? Ich habe versucht, die Kodierung in UTF-8 und Cp1252 in der XML-Datei zu ändern, jedoch ohne Erfolg.
Ich verwende JRE7, Eclipse Kepler und Ant 4.11.
Dies kann schwierig sein, wenn Sie einfach die angekündigte Kodierung ändern, wird die Tatsache nicht kompensiert, dass die Datei Bytes enthält, die mit einer UTF-8-Interpretation nicht verstanden werden können. In Ant müssen Sie die javac
-Task aktualisieren, um eine Kodierung wie <javac ... encoding="utf-8">
hinzuzufügen.
Stellen Sie sicher, dass die Dateikodierung in Eclipse ebenfalls UTF-8 ist, da einige cp1252-Zeichen auch nicht direkt in UTF-8 zugeordnet werden. Wahrscheinlich möchten Sie Ihr gesamtes Projekt mit einer einzigen Codierung verwalten. Andernfalls sieht der Compiler andere Kodierungen, wenn er nur eine erwartet.
Sie können versuchen, die Umgebungsvariable ANT_OPTS (oder Java_TOOL_OPTIONS) auf -Dfile.encoding=UTF8
Hatte das ähnliche Problem in einem meiner Projekte. Einige meiner Dateien enthielten UTF-8-Zeichen. Aufgrund der Eclipse-Standardcodierung (cp1252) schlug der Build mit diesem Fehler fehl.
Führen Sie die folgenden Schritte aus, um das Problem zu beheben:
Legen Sie den Codierungstyp entsprechend den in Ihrem Code/Ihren Dateien verwendeten Sonderzeichen fest.
Wechseln Sie zur allgemeinen Registerkarte der RUN/DEBUG-Konfiguration in Eclipse, um die Kodierung in UTF-8 zu ändern.
Legen Sie unter Fenster> Voreinstellungen> Allgemein> Inhaltstypen UTF-8 als Standardcodierung für alle Inhaltstypen fest.
Stellen Sie für "Fenster"> "Voreinstellungen"> "Allgemein"> "Arbeitsbereich" die Option "Kodierung der Textdatei" auf "Andere: UTF-8" ein.