2012-01-28 15 views
9

Ho il seguente problema. Ho creato un nuovo "Dynamic Web Project" e ho importato alcuni file jsp esistenti.Eclipse JSP: codifica file di testo predefinita errata

Se faccio clic con il pulsante destro del mouse su uno dei file jsp importati, fare clic su "Proprietà"> "Risorsa", quindi nella sezione "Codifica file di testo" il valore "Predefinito (determinato dal tipo di contenuto: ISO-8859-1)" . Tuttavia ho runned iconv prima di importare per assicurare che sono in utf-8:

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

Tutti i file jsp ha la seguente serie di meta:

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

Qualcuno sa come cambiare questa impostazione? Tomcat li sta servendo correttamente come utf-8 (http content-type intestazione), quindi non so davvero in ciò che questo impatti ...

risposta

13

Non è un bug, è una caratteristica

Eclipse non ha "determina" la codifica corretta attraverso la scansione il file come file o come iconv comandi di shell.

Soluzione: Aggiungete la seguente riga al vostro JSP:

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

Questa è una buona idea a causa di molti Web-Container costringerà a consegnare i file codificati ISO-8859-1, tuttavia, è stata impostata la corretta tipo di contenuto nell'intestazione HTML.

FYI: l'insieme di caratteri di disadattamenti e codifiche di file porteranno

  • a personaggi come in "schei codifica" (carattere Latin1 in UTF8 (multibyte) contesto).
  • Se hai qualcosa come "für" è indead un carattere multibyte rotta (tipicamente UTF-8) in un contesto di carattere singleByte (Latin1/ISO-8859-1 || ISO-8859-15 per i tedeschi)
+0

Replicazione un po 'in ritardo :) Grazie, questo ha risolto il problema! ... Sono ancora perso sul perché, perché tutta la configurazione indicata dalle altre risposte sembra buona (tutte hanno detto utf-8). – roirodriguez

+0

hi @roirodriguez non ti preoccupare per la risposta in ritardo, felice di aiutarti .. ma sì, questa roba di codifica è ancora fastidiosa e potresti raramente fidarti delle impostazioni ovvie;/ –

1

Quali sono le impostazioni di codifica in Window > PreferencesGeneral > Workspace, Web > JSP Files e nel Project Properties > Resource? Devono essere tutti corretti.

10

Windows> Preferenze> Generale> Tipi di contenuto> Testo> JSP> Codifica predefinita> UTF-8

+1

Grazie mille! :-) Perché diavolo ci sono almeno tre impostazioni in tre posizioni diverse per questa cosa semplice ?! ;-) – Udorn

+1

come menzionato nella mia risposta: questo potrebbe aiutare in eclissi, ma potrebbe quindi interromperlo (di nuovo) nel contesto di runtime a causa della codifica non chiara –

0

In Eclipse, andare a Windows -> Preferenze -> Web -> JSP Files

Selezionare UTF-8 codifica dal box a discesa * Encoding * lì.

Problemi correlati