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
.
@Sebastian: sono due domande chiare, dovresti dividerlo in due post. – skaffman
fatto: http://stackoverflow.com/questions/4865208/bad-encoding-of-streamed-csv-with-stripes-tomcat –
Mi manca qualcosa: 'setContentType (" text/html "); setCharacterEncoding ("UTF-8"); 'è equivalente a' setContentType ("text/html; charset = UTF-8"); 'o semplicemente' setCharacterEncoding ("UTF-8"); 'lo farà? –