Java File Encoding


Java / Tomcat und Dateien als UTF8 einlesen.
Java nutzt immer die Codepage, die Standard mäßig auf dem betreffendem System eingestellt ist. Dies ist unter Windows (alle Versionen seit NT), die Codepage 1252. Dies ist eine Erweiterung des CP ISO 8859-1, wleche aber nicht alle deutschen Sonderzeichen und erst recht nicht Chinesische,japanische oder kyrillische Zeichen abdeckt.Java, oder ein Applicationserver, muss beim Start bereits die entsprechende Codepage mitgeteilt werden.Um Tomcat unter UTF8 laufen zu lassen, gibt es 3 verschiedene Möglichkeiten, dies Tomact mitzuteilen.
1. Java komplett als UTF8 laufen lassen.
Dies erreicht man unter Windows, indem man die entsprechende Umgebungsvariable setzt

  • Auf Arbeitsplatz klicken
  • Dann auf Eigenschaften klicken
  • Dann auf Erweiter klicken
  • Jetzt auf Umgebungsvariablen klicken
  • Falls noch nicht vorhanden, die Umgebungsvariable „JAVA_TOOL_OPTIONS“ erzeugen
  • hier den Wert „-Dfile.encoding=UTF-8“ setzen.
  • Mit Ok bestätigen und die Einstellungen verlassen.
2. nur Tomcat unter UTF8 betreiben (start über startup.bat)
Wenn Tomcat über die startup.bat im bin Verzeichnis gestartet wird,dann in „%Tomcat_Home%/bin“ die Datei catalina.bat öffnen und in der Zeile :“%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs=“%JAVA_ENDORSED_DIRS%“ -classpath „%CLASSPATH%“ -Dcatalina.base=“%CATALINA_BASE%“ -Dcatalina.home=“%CATALINA_HOME%“ -Djava.io.tmpdir=“%CATALINA_TMPDIR%“ %MAINCLASS% %CMD_LINE_ARGS% %ACTION%“ den Eintrag : „-Dfile.encoding=UTF-8“ hinzufügen.
3. nur Tomcat unter UTF8 betreiben (start als Dienst)
Wenn Tomcat als Service läuft, dann doppelklick auf die Datei „%Tomcat_Home%/Tomcat6w.exe“ und im Reiter Java unter Java Options den Parameter „-Dfile.encoding=UTF-8“ einstellen. Danach den Service neu starten.