2012-01-28 3 views
9

У меня есть следующая проблема. Я создал новый «Динамический веб-проект» и импортировал в него некоторые существующие jsp-файлы.Eclipse JSP: некорректная кодировка текстового файла по умолчанию

Если я щелкнул правой кнопкой мыши один из импортированных файлов jsp и щелкнул «Свойства»> «Ресурс», то в разделе «Кодирование текстового файла» значение «По умолчанию (определяется типом контента: ISO-8859-1)» , Однако я Iconv запущенной перед импортом, чтобы убедиться, что они находятся в UTF-8:

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

Все файлы JSP имеет следующий мета набор:

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

Кто-нибудь знает, как изменить эту настройку? Tomcat правильно служить им, как UTF-8 (HTTP заголовка Content-type), поэтому я не знаю, в каком это влияет ...

ответ

13

Это не ошибка, это особенность

Eclipse, не «определить» правильную кодировку, сканируя файл, как файл или Iconv команды на вашей оболочке. Следующая строка Добавить к вашей JSP::

Решение

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

Это хорошая идея из-за многих Web-контейнер заставит поставить ISO-8859-1, закодированные файлы, тем не менее вы установили правильный тип содержимого в заголовке HTML.

FYI: несовпадение CharacterSets и кодировки файлов приведет

  • персонажам, как в "Шей кодирования" (Latin1 символов в UTF8 (многобайтовое представление) контексте).
  • Если вы получили что-то вроде "für" это indead сломанный многобайтовый (обычно UTF-8) в контексте singleByte характера (Latin1/ISO-8859-1 || ISO-8859-15 для немцев)
+0

Откат немного позже :) Спасибо, это решило проблему! ... Я все еще теряюсь о том, почему, потому что вся конфигурация, указанная другими ответами, выглядит хорошо (все они говорят utf-8). – roirodriguez

+0

hi @roirodriguez никогда не задумываюсь о позднем ответе, рад помочь вам .. но да, этот материал кодирования все еще раздражает, и вы редко можете доверять очевидным настройкам;/ –

1

Какие настройки кодирования в Window > PreferencesGeneral > Workspace, Web > JSP Files и в Project Properties > Resource? Все они должны быть правильными.

10

Окна> Настройки> Типы Общие> Содержание> Текст> JSP> Кодировка по умолчанию> UTF-8

+1

Большое вам спасибо! :-) Почему, черт возьми, есть по крайней мере три настройки в трех разных местах для этой простой вещи ?! ;-) – Udorn

+1

как упоминалось в моем ответе: это может помочь в eclipse, но может затем сломаться (снова) в контексте выполнения из-за кодирования, неясно –

0

в Eclipse, перейдите в Windows -> Настройки -> Web -> JSP файлы

Выберите UTF-8 кодировка из раскрывающегося списка * Кодирование *.

Смежные вопросы