javadoc अंतर के बारे में बहुत स्पष्ट है:
void setCharacterEncoding(String charset)
सेट प्रतिक्रिया के वर्ण एन्कोडिंग (MIME चारसेट) उदाहरण के लिए, UTF-8 में ग्राहक को भेजा जा रहा है। यदि वर्ण एन्कोडिंग पहले से ही setContentType(java.lang.String)
या setLocale(java.util.Locale)
द्वारा निर्धारित किया गया है, तो यह विधि इसे ओवरराइड करती है। setContentType(java.lang.String)
को text/html
की स्ट्रिंग के साथ कॉल करना और यूटीएफ -8 की स्ट्रिंग के साथ इस विधि को कॉल करना setContentType
को text/html; charset=UTF-8
के स्ट्रिंग के साथ कॉल करने के बराबर है।
void setContentType(String type)
सेट प्रतिक्रिया की सामग्री प्रकार ग्राहक के लिए भेजा जा रहा है, अगर प्रतिक्रिया अभी तक प्रतिबद्ध नहीं किया गया है। दिए गए सामग्री प्रकार में एक वर्ण एन्कोडिंग विनिर्देश शामिल हो सकता है, उदाहरण के लिए, text/html;charset=UTF-8
।
@ सेबेस्टियन: यह दो स्पष्ट प्रश्न हैं, आपको इसे दो पदों में विभाजित करना चाहिए। – skaffman
किया गया: http://stackoverflow.com/questions/4865208/bad-encoding-of-streamed-csv-with-stripes-tomcat –
मुझे कुछ याद आ रहा है: 'setContentType ("text/html"); सेट कैरेक्टर एन्कोडिंग ("यूटीएफ -8"); 'सेटकंटेंट टाइप (" टेक्स्ट/एचटीएमएल; वर्णसेट = यूटीएफ -8 ") के बराबर है; 'या बस' सेट कैरेक्टर एन्कोडिंग (" यूटीएफ -8 "); 'क्या करेगा? –