El javadoc es bastante clara la diferencia:
void setCharacterEncoding(String charset)
Establece la codificación de caracteres (juego de caracteres MIME) de la respuesta que se envía al cliente, por ejemplo, a UTF-8. Si la codificación de caracteres ya se ha establecido en setContentType(java.lang.String)
o setLocale(java.util.Locale)
, este método la reemplaza. Llamar a setContentType(java.lang.String)
con la Cadena de text/html
y llamar a este método con la Cadena de UTF-8 equivale a llamar a setContentType
con la Cadena de text/html; charset=UTF-8
.
void setContentType(String type)
Establece el tipo de contenido de la respuesta que se envía al cliente, si la respuesta no se ha confirmado todavía. El tipo de contenido dado puede incluir una especificación de codificación de caracteres, por ejemplo, text/html;charset=UTF-8
.
@Sebastian: Son dos preguntas claras, debe dividirlas en dos publicaciones. – skaffman
hecho: http://stackoverflow.com/questions/4865208/bad-encoding-of-streamed-csv-with-stripes-tomcat –
Me falta algo: 'setContentType (" text/html "); setCharacterEncoding ("UTF-8"); 'es equivalente a' setContentType ("text/html; charset = UTF-8"); 'o simplemente' setCharacterEncoding ("UTF-8"); '¿funcionará? –