2011-02-01 35 views

答えて

28

javadocは違いについてかなり明確である:

void setCharacterEncoding(String charset) は、例えば、UTF-8に、クライアントに送信される応答の文字エンコーディング(MIME文字セット)を設定します。文字エンコーディングがsetContentType(java.lang.String)またはsetLocale(java.util.Locale)によって既に設定されている場合、このメソッドはそれをオーバーライドします。 text/htmlの文字列でsetContentType(java.lang.String)を呼び出し、UTF-8の文字列でこのメソッドを呼び出すことは、text/html; charset=UTF-8の文字列を使用してsetContentTypeを呼び出すのと同じです。


void setContentType(String type) レスポンスがまだコミットされていない場合は、クライアントに送信される応答のコンテンツタイプを設定します。 指定されたコンテンツタイプには、文字エンコーディング指定が含まれている場合があります。たとえば、text/html;charset=UTF-8です。

+0

@セバスチャン:2つの明確な質問です。2つの投稿に分割する必要があります。 – skaffman

+0

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

+3

私は何かが不足しています: 'setContentType(" text/html "); setCharacterEncoding( "UTF-8"); 'はsetContentType(" text/html; charset = UTF-8 ");または' setCharacterEncoding( "UTF-8"); –

関連する問題