Setting Java Environment (Apache Tomcat) to encode

2019-03-30 03:53发布

问题:


I want to know how to set-up the Java Environment to encode in UTF-8.
Basically I have JSP pages displayed with some Arabic text but they don't seem to be encoding right.
When I run the pages in the IDE it works fine but on the server where they are host it simple displays it as question marks. I just want to know how to set the java environment or apache tomcat to encode the UTF-8.
Any help will be appreciated.

回答1:

You have a few general settings with different impact levels:

(1) Configure your JSP page to display content in utf-8 (place on top of jsp page)

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

(2) Set default character encoding to utf-8 (java system property)

-Dfile.encoding="utf-8"

(3) Configure your application server to encode request parameters in utf-8 (in conf/server.xml)

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

(4) Tell browser content is in utf-8 (place in html HEAD section)

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


回答2:

You must to edit the /config/web.xml uncomment this filter: 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>


回答3:

In within your project directory: You must have a folder named 'font' in this foler copy the arabic fonts , this will carry your path to characters on server too....