2011-09-27 10 views
5


Chcę wiedzieć, jak skonfigurować środowisko Java do kodowania w UTF-8.
Zasadniczo mam strony JSP wyświetlane z pewnym tekstem arabskim, ale nie wydają się poprawnie kodować.
Po uruchomieniu stron w IDE działa dobrze, ale na serwerze, na którym są hosta, po prostu wyświetla je jako znaki zapytania. Chcę tylko wiedzieć, jak ustawić środowisko java lub tomcat Apache do kodowania UTF-8.
Każda pomoc zostanie doceniona.Ustawienie środowiska Java (Apache Tomcat) do kodowania UTF-8

+1

pokrewnego stanowisko może pomoc http://stackoverflow.com/questions/138948/how-to-get-utf-8-working-in-java-webapps –

Odpowiedz

23

Masz kilka ogólnych ustawień z różnych poziomów oddziaływania:

(1) Skonfiguruj swoją stronę JSP do wyświetlania treści w UTF-8 (miejsce na górnym strony JSP)

<%@page pageEncoding="utf-8" %> 

(2) Ustaw domyślne kodowanie znaków UTF-8 (java system property)

-Dfile.encoding="utf-8" 

(3) Skonfiguruj serwer aplikacji do kodowania parametrów żądania w UTF-8 (w conf/server.xml)

<connector .... URIEncoding="utf-8" /> 

(4)Tell browser treść jest w UTF-8 (miejsce w html sekcja HEAD)

<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> 
+0

te kroki zostały szczegółowo wyjaśnione w starym poście http://stackoverflow.com/ pytania/138948/how-to-get-utf-8-working-in-java-webapps –

+0

Gdzie mam zastosować punkt (2)? – Mush

+1

@Mush, jako argument do uruchomienia serwera, zwykle poprzez ustawienie zmiennej 'JAVA_OPTS =" - D ... "' np. W skrypcie startowym lub jako zmienna systemowa ('export JAVA_OPTS =" .. "") . –

0

w obrębie katalogu projektu: musisz mieć folder o nazwie „font” w tym foler skopiować arabskie czcionki, będzie to nosić swoją drogę do znaków na serwerze też ....

4

Musisz edytować /config/web.xml Odkomentuj ten filtr: setCharacterEncodingFilter

<!-- A filter that sets character encoding that is used to decode --> 
<!-- parameters in a POST request --> 
<filter> 
    <filter-name>setCharacterEncodingFilter</filter-name> 
    <filter-class>org.apache.catalina.filters.SetCharacterEncodingFilter</filter-class> 
    <init-param> 
     <param-name>encoding</param-name> 
     <param-value>UTF-8</param-value> 
    </init-param> 
</filter> 

<!-- The mapping for the Set Character Encoding Filter --> 
<filter-mapping> 
    <filter-name>setCharacterEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
Powiązane problemy