2011-02-01 6 views

risposta

28

Il javadoc è abbastanza chiara la differenza:

void setCharacterEncoding(String charset) Imposta la codifica dei caratteri (MIME charset) della risposta viene inviato al client, per esempio, a UTF-8. Se la codifica dei caratteri è già stata impostata da setContentType(java.lang.String) o setLocale(java.util.Locale), questo metodo lo sostituisce. Chiamare setContentType(java.lang.String) con la stringa text/html e chiamare questo metodo con la stringa UTF-8 equivale a chiamare setContentType con la stringa text/html; charset=UTF-8.


void setContentType(String type) Imposta il tipo di contenuto della risposta viene inviata al client, se la risposta non è stato ancora commesso. Il tipo di contenuto specificato può includere una specifica di codifica dei caratteri, ad esempio text/html;charset=UTF-8.

+0

@Sebastian: sono due domande chiare, dovresti dividerlo in due post. – skaffman

+0

fatto: http://stackoverflow.com/questions/4865208/bad-encoding-of-streamed-csv-with-stripes-tomcat –

+3

Mi manca qualcosa: 'setContentType (" text/html "); setCharacterEncoding ("UTF-8"); 'è equivalente a' setContentType ("text/html; charset = UTF-8"); 'o semplicemente' setCharacterEncoding ("UTF-8"); 'lo farà? –