2011-09-27 39 views
5


Tôi muốn biết cách thiết lập Môi trường Java để mã hóa bằng UTF-8.
Về cơ bản tôi có các trang JSP được hiển thị với một số văn bản tiếng Ả Rập nhưng dường như chúng không mã hóa đúng.
Khi tôi chạy các trang trong IDE nó hoạt động tốt nhưng trên máy chủ nơi chúng được lưu trữ nó đơn giản hiển thị nó như là dấu hỏi. Tôi chỉ muốn biết làm thế nào để thiết lập môi trường java hoặc apache tomcat để mã hóa UTF-8.
Mọi trợ giúp sẽ được đánh giá cao.Cài đặt Môi trường Java (Apache Tomcat) để mã hóa UTF-8

+1

một bài liên quan đến sức mạnh http://stackoverflow.com/questions/138948/how-to-get-utf-8-working-in-java-webapps –

Trả lời

23

Bạn có một vài thiết lập chung với mức độ tác động khác nhau:

(1) Cấu hình trang JSP bạn để hiển thị nội dung trong utf-8 (diễn ra vào ngày đầu của trang jsp)

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

(2) Đặt mã hóa ký tự mặc định thành utf-8 (java system property)

-Dfile.encoding="utf-8" 

(3) Cấu hình máy chủ ứng dụng của bạn để mã hóa các thông số yêu cầu trong utf-8 (trong conf/server.xml)

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

(4)Tell browser nội dung là utf-8 (diễn ra trong html HEAD phần)

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

các bước này đã được giải thích chi tiết trong một bài đăng cũ http://stackoverflow.com/ câu hỏi/138948/how-to-get-utf-8-working-in-java-webapps –

+0

Tôi áp dụng điểm (2) vào đâu? – Mush

+1

@Mush, làm đối số để khởi động máy chủ của bạn, thường bằng cách đặt biến 'JAVA_OPTS =" - D ... "', ví dụ: trong tập lệnh khởi động hoặc dưới dạng biến hệ thống ('export JAVA_OPTS =" .. "') . –

0

Trong thư mục dự án của bạn: Bạn phải có thư mục có tên 'font' trong phần này sao chép phông chữ arabic, điều này sẽ mang con đường của bạn để nhân vật trên máy chủ quá ....

4

Bạn phải chỉnh sửa /config/web.xml bộ lọc này bỏ ghi chú: 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> 
Các vấn đề liên quan