2012-07-05 16 views
13

Używam Tomcat 6.0.32 w systemie Windows 7. Wewnątrz bardzo prostego serwletu wewnątrz metody init jestem druk:Zmień Tomcat w oknach

System.out.println(Charset.defaultCharset()); 

Wyjście jest:

windows-1253 

o ile rozumiem, to jest jak kocur rozpocząć w JVM ponieważ jestem drukowania samo w autonomicznym klasy java i mam „UTF8” jako odpowiedź.

Jak mogę to zmienić na UTF-8?

dzięki

+0

czy wypróbowałeś 'request.getCharacterEncoding();'? Zobacz, co drukuje, W każdym razie możesz zmienić kodowanie znaków .. ale zmienia się w zależności od wymagań. Spójrz na tę stronę wiki http://wiki.apache.org/tomcat/FAQ/CharacterEncoding#Q1 –

+0

Nie mogę uzyskać dostępu, ponieważ pracuję wewnątrz metody init. W każdym razie nie jest to problem dotyczący żądania-repons, ponieważ muszę mieć kodowanie UTF8, aby czytać pliki i nie wysyłać odpowiedzi w kodowaniu UTF8. – nonouco

Odpowiedz

34

wystarczy utworzyć plik setenv.bat wewnątrz katalogu TOMCAT/bin o następującej treści:

set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8" 
+0

Dobre znalezisko. Przegłosowałem twoją odpowiedź. – UVM

+0

dzięki za +1! – nonouco

+0

@nonouco dzięki! +1! –

1

Spróbuj ustawić środowiska (Windows) Zmienna JAVA_TOOL_OPTIONS do -Dfile.encoding=UTF-8 i rozpocząć Tomcat Server.

dostanie więcej pojęcia z tego linku: Setting the default Java character encoding

+0

Niestety to nie działa. Ustawienie -Dfile.encoding = UTF-8 jest poprawnym podejściem, ale nie ukrywam, że tomcat dołącza JAVA_TOOL_OPTIONS do JAVA_OPTS. W każdym razie znalazłem rozwiązanie. Sprawdź poniżej. – nonouco

+0

Nie działa dla mnie –

4

Dla Tomcat działa jako Obsługa systemu Windows% JAVA_OPTS% i żadne odpowiedzi setenv.bat nie działają w moim przypadku.

ustawić opcję "-Dfile.encoding = UTF-8" w rejestrze:

„HKEY_LOCAL_MACHINE \ SOFTWARE \ Apache Software Foundation \ Procrun 2,0 \ tomcatstackTomcat \ Parameters \ Java -> Opcje *

Następnie to działa.