2009-04-01 7 views
10

Ho alcuni modelli HTML UTF-8 nel mio progetto Eclipse ed Eclipse continua a trattarli come se avessero una codifica diversa. Dice che la codifica è "determinata dal contenuto". Voglio forzare la codifica corretta.Modifica la codifica del testo per più file contemporaneamente in Eclipse

Posso forzarlo per un singolo file ma impostare una codifica per la cartella padre non avrà effetto sui file al suo interno perché invece dell'opzione "inherit" nella finestra delle proprietà c'è la cosa "determinata dal contenuto" nella sua posto.

È possibile impostare la codifica per tutti i file in un progetto contemporaneamente?

risposta

7

Ho appena risolto questo problema (Eclipse 3.5.2)

due passaggi necessari:

  1. di modifica del file di testo codifica nella pagina delle proprietà della cartella (.setting/org.eclipse. file di core.resources.prefs è stata creata nel mio progetto)
  2. Cambiare la codifica di default sul tipo di contenuto * file hTML nella pagina Preference tipi generali/Content
1

Ho visto solo "determinato dal contenuto" per i file XML. In tal caso è l'unica impostazione corretta, perché i file XML hanno la loro codifica definita nell'intestazione, quindi forzare qualcos'altro sarebbe un grave errore.

Se si desidera continuare, è possibile provare a visualizzare il file .settings/org.eclipse.core.resources.prefs nel progetto (il file potrebbe o meno esistere a seconda che sia stata impostata manualmente la codifica nel progetto oppure no).

+0

Che dire dei file XML/HTML in cui la codifica nell'intestazione è una variabile cercata in fase di runtime? Per quanto riguarda include dove non è possibile specificare la codifica nel file? "Determinato dal contenuto" non è l'impostazione corretta, né è un grave errore utilizzare un'altra opzione. In questi casi d'uso, non essere in grado di dirlo di usare la codifica del progetto (senza dover aggiungere ogni singolo file a org.eclipse.core.resources.prefs) è un bug. – DaveS

+0

Un file XML in cui la codifica nell'intestazione è una variabile caricata al momento del runtime * non è un file XML valido *. Potrebbe essere un modello per un file XML, ma non è di per sé uno. –

+0

Esattamente, è un modello, che è ciò che TomA era (e cosa sono attualmente) con un problema. Ma poiché il file template termina in .html (scelta del framework), Eclipse prova il suo semplice algoritmo: 1) Cerca la dichiarazione del tipo di contenuto nel contenuto del file. 2) Usa la codifica del sistema. Perché non c'è un passaggio intermedio, 1.5) Usa il set di codifica a livello di progetto. O perché non possiamo usare i caratteri jolly in org.eclipse.cor.resources.prefs per dire qualcosa come /folder/*.html? – DaveS

1

Questo è stato causato da una versione di sviluppo di Eclipse. Nell'ultima versione ufficiale (3.5) è stato risolto.

+0

Ho paura che questo non sia vero (almeno per me). Ho esattamente lo stesso problema e sto usando Helios 3.6.1. Anche forzare la pagina JSP a UTF8 sembra ridurlo. –

+0

Ho ancora questo in Kepler 4.3. Ma seguendo il consiglio di passo di arty di impostare la codifica predefinita dei file * .html in Tipi di contenuto, è stato risolto. –

Problemi correlati