2012-01-28 26 views
9

Tôi gặp sự cố sau. Tôi đã tạo một "Dự án Web động" mới và nhập một số tệp jsp hiện có vào đó.Eclipse JSP: mã hóa tệp văn bản mặc định không chính xác

Nếu tôi nhấp chuột phải vào một trong các tệp jsp đã nhập và nhấp vào "Thuộc tính"> "Tài nguyên" thì trong phần "Mã hóa tệp văn bản", giá trị "Mặc định (được xác định theo loại nội dung: ISO-8859-1)" . Tuy nhiên tôi đã runned iconv trước khi nhập để đảm bảo họ đang ở utf-8:

$ iconv -f "ISO-8859-1" -t "UTF-8" from.jsp > to.jsp 

Tất cả các tập tin jsp đã tập meta sau:

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

Có ai biết làm thế nào để thay đổi cài đặt này? Tomcat đang phục vụ họ một cách chính xác như utf-8 (http content-type tiêu đề), vì vậy tôi không thực sự biết những gì tác động này ...

Trả lời

13

Đó không phải là lỗi, đó là một tính năng

Eclipse không "xác định" mã hóa chính xác bằng cách quét các tập tin như như tập tin hoặc iconv lệnh trên shell của bạn.

Giải pháp: Thêm dòng sau vào JSP của bạn:

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

Đây là một ý tưởng tốt do nhiều Web-container sẽ buộc phải cung cấp theo tiêu chuẩn ISO-8859-1 file mã hóa vẫn bạn đã thiết lập đúng loại nội dung trong Tiêu đề HTML của bạn.

FYI: CharacterSets mismatching và mã hóa tập tin sẽ dẫn

  • với những nhân vật như thế nào trong "mã hóa Schei" (latin1 nhân vật trong UTF8 (multibyte) ngữ cảnh).
  • Nếu bạn có thứ gì đó giống như "für", nó có thể là một ký tự multibyte bị hỏng (thường là UTF-8) trong một bối cảnh ký tự đơnByte (Latin1/ISO-8859-1 || ISO-8859-15 cho Đức)
+0

Trả lời trễ một chút :) Cảm ơn, đã giải quyết được vấn đề! ... Tôi vẫn bị mất lý do vì tất cả cấu hình được chỉ ra bởi các câu trả lời khác đều tốt (tất cả đều nói là utf-8). – roirodriguez

+0

hi @roirodriguez không bao giờ bận tâm về việc trả lời trễ, vui mừng được giúp bạn .. nhưng có, công cụ mã hóa này vẫn gây phiền nhiễu và bạn hiếm khi tin tưởng vào các cài đặt hiển nhiên;/ –

1

các thiết lập mã hóa trong Window > PreferencesGeneral > Workspace, Web > JSP Files và trong Project Properties > Resource là gì? Tất cả đều phải chính xác.

10

Windows> Preferences> Các loại chung> Content> Text> JSP> Default Encoding> UTF-8

+1

Cảm ơn bạn rất nhiều! :-) Tại sao địa ngục có ít nhất ba cài đặt ở ba vị trí khác nhau cho điều đơn giản này ?! ;-) – Udorn

+1

như đã đề cập trong câu trả lời của tôi: Điều này có thể giúp trong nhật thực, nhưng sau đó có thể phá vỡ (một lần nữa) trong bối cảnh thời gian chạy vì mã hóa không rõ ràng –

0

Trong Eclipse, vào Windows -> Preferences -> Web -> JSP tập tin

Chọn UTF-8 mã hóa từ hộp thả xuống * Mã hóa * ở đó.

Các vấn đề liên quan