मैं अपनी वेबसाइट में एन्कोडिंग के साथ एक बड़ी समस्या में फंस गया हूँ! मैं वसंत 3, टॉमकैट 6, और MySQL डीबी का उपयोग करता हूं। मैं अपनी वेबसाइट में जर्मन और चेक अंग्रेजी के साथ-साथ समर्थन करना चाहते हैं, मैं UTF-8 फ़ाइलों के रूप में सभी JSPs बनाया है, और प्रत्येक jsp में मैं निम्नलिखित शामिल हैं:कैरेक्टर-एन्कोडिंग समस्या वसंत
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
मैं messages.properties बनाया (डिफ़ॉल्ट जो चेक है), message_de.properties, और messages_en.properties। और उन सभी को यूटीएफ -8 फाइलों के रूप में सहेजा जाता है।
<filter>
<filter-name>encodingFilter</filter-name>
<filterclass>
org.springframework.web.filter.CharacterEncodingFilter</filterclass>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<locale-encoding-mapping-list>
<locale-encoding-mapping>
<locale>en</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
<locale-encoding-mapping>
<locale>cz</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
<locale-encoding-mapping>
<locale>de</locale>
<encoding>UTF-8</encoding>
</locale-encoding-mapping>
</locale-encoding-mapping-list>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
और मेरे applicationContext.xml को निम्नलिखित जोड़ें::
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource"
p:basenames="messages"/>
<!-- Declare the Interceptor -->
<mvc:interceptors>
<bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"
p:paramName="locale" />
</mvc:interceptors>
<!-- Declare the Resolver -->
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver" />
मैं सेट useBodyEncodingForURI सर्वर का तत्व में सच की विशेषता
मैं web.xml के लिए निम्न गयी। xml के तहत:% CATALINA_HOME%/conf, इसके अलावा एक और बार URIEncoding = "UTF-8" जोड़ने की कोशिश की।
मैं चारसेट [UTF8] और संग्रह के साथ सभी तालिकाओं और खेतों बनाया [utf8_general_ci]
अपने ब्राउज़र में एन्कोडिंग UTF-8 है
(Btw, मैं IE8 और Firefox 3.6.3 है) जब मैं MYSQL क्वेरी ब्राउज़र खोलता हूं और मैन्युअल रूप से चेक या जर्मन डेटा डालता हूं, तो इसे सही ढंग से डाला जा रहा है, और मेरे ऐप में भी सही तरीके से प्रदर्शित किया जा रहा है।
तो, यहां समस्याओं की सूची है मेरे पास है:
डिफ़ॉल्ट रूप से messages.properties (चेक) डिफ़ॉल्ट रूप से लोड करना चाहिए, बजाय messages_en.properties भार।
वेब फॉर्म में, जब मैं चेक डेटा दर्ज करता हूं, तो कंट्रोलर में सबमिट करें पर क्लिक करें, कंसोल में डेटा को डीबी में सहेजने से पहले प्रिंट करें, क्या मुद्रित किया जा रहा है अजीब वर्णों के साथ सही नहीं है, और यह सटीक डेटा है जो डीबी को बचाता है।
मुझे नहीं पता कि गलती कहां है! मैं इसे क्यों काम नहीं कर सकता, हालांकि मैंने लोगों के साथ क्या किया और उनके लिए काम किया! पता नहीं ..
कृपया मेरी मदद करें, मैं दिनों से इस क्रोधित समस्या में फंस गया हूं, और यह मुझे पागल बनाता है!
अग्रिम धन्यवाद।
यह रजत बुलेट था :-) – user256872
मैं इसे स्प्रिंग एप्लिकेशन में कोशिश करता हूं लेकिन सफलता नहीं। –