2012-01-28 12 views
9

Mam następujący problem. Stworzyłem nowy "Dynamiczny projekt internetowy" i zaimportowałem do niego kilka istniejących plików jsp.JSP Eclipse: niepoprawny domyślny kodowanie pliku tekstowego

Po kliknięciu prawym przyciskiem myszy jeden z zaimportowanych plików JSP i kliknięciu "Właściwości"> "Zasób", a następnie w sekcji "Kodowanie pliku tekstowego" wartość "Domyślna (określona według typu zawartości: ISO-8859-1)" . Jednak mam prowadzona iconv przed importem, aby zapewnić, że są w UTF-8:

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

Wszystkie pliki JSP ma następujący zestaw meta:

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

Czy ktoś wie jak zmienić to ustawienie? Tomcat jest obsługujących je prawidłowo jako UTF-8 (http nagłówka Content-Type), więc naprawdę nie wiem w co to wpływu ...

Odpowiedz

13

To nie jest błąd, to funkcja

Eclipse nie „określenia” poprawne kodowanie poprzez skanowanie pliku jako pliku lub jak iconv poleceń na swojej skorupie.

Rozwiązanie: Dodaj następujący wiersz do JSP:

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

To jest dobry pomysł, ze względu na wiele Web-Container zmusi do wydania ISO-8859-1 zakodowane pliki niemniej ustawiono poprawny typ zawartości w nagłówku HTML.

FYI: niedopasowanie CharacterSets i kodowania plików doprowadzi

  • do znaków, jak w "kodowaniu Schei" (Latin1 znaków w UTF-8 (wielobajtową) kontekstu).
  • Jeśli masz coś takiego jak "für", oznacza to, że jest uszkodzony zerwany znak wielobajtowy (zazwyczaj UTF-8) w kontekście znaku o jednym bajcie (Latin1/ISO-8859-1 || ISO-8859-15 dla Niemców)
+0

Powtórzyć nieco późno :) Dzięki, że rozwiązałem problem! ... Nadal jestem zagubiony dlaczego, ponieważ cała konfiguracja wskazana przez inne odpowiedzi wygląda dobrze (wszyscy mówią utf-8). – roirodriguez

+0

Witam @roirodriguez, nie przejmuję się późną odpowiedzią, cieszę się, że mogę ci pomóc .. ale tak, to kodowanie jest wciąż irytujące i możesz rzadko ufać oczywistym ustawieniom;/ –

1

Jakie są ustawienia kodowania w Window > PreferencesGeneral > Workspace, Web > JSP Files aw Project Properties > Resource? Wszystkie muszą być poprawne.

10

Windows> Preferencje> Typy ogólne> Treść> Tekst> JSP> Default Kodowanie> UTF-8

+1

Dziękuję bardzo! :-) Dlaczego, do diabła, istnieją co najmniej trzy ustawienia w trzech różnych lokalizacjach dla tej prostej rzeczy ?! ;-) – Udorn

+1

jak wspomniano w mojej odpowiedzi: To może pomóc w zaćmieniu, ale może następnie przerwać (ponownie) w kontekście runtime z powodu niejasnego kodowania –

0

W Eclipse, przejść do systemu Windows -> Preferencje -> Internet -> JSP plików

wybierz UTF-8 kodowanie z rozwijanego pola * Kodowanie *.