मैं एक फॉर्म सबमिट करने की कोशिश कर रहा हूं, जिसमें इसके अंदर यूटीएफ 8 वर्ण हैं। प्रपत्र इस तरह दिखता है:फॉर्म पोस्ट और स्प्रिंग कंट्रोलर के साथ यूटीएफ -8 एन्कोडिंग
<form id="workflowPersistForm" accept-charset="UTF-8" method="post" action="/workflow-next">>
<input id="stateGlobal" type="hidden" value=" お問い合わせ" name="state">
</form>
मेरे सर्वर एक वसंत आधारित है। मेरे web.xml पहले से ही एन्कोडिंग फ़िल्टर है:
<filter>
<filter-name>EncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<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>
समस्या यह है कि UTF-8 वर्णों कहीं में गड़बड़ हो रहे है। मैंने नियंत्रक की शुरुआत में ब्रेक प्वाइंट लगाया, और पात्रों को उस बिंदु पर गड़बड़ कर दिया गया। साथ ही, अगर मैं नियंत्रक के अंदर यूटीएफ 8 अक्षरों को उत्पन्न करता हूं, तो यह ब्राउज़र में सही ढंग से प्रस्तुत किया जाता है। बस फॉर्म पोस्ट पर, नियंत्रक अक्षरों को ठीक से प्राप्त नहीं करता है।
कोई विचार क्या मैं गलत कर रहा हूं?
संपादित करें: ऐसा लगता है कि नए पृष्ठ डेटा में गड़बड़ नहीं हुई है, लेकिन इसकी डबल एन्कोडेड है। मैं समझने में असमर्थ हूं कि यह डबल एन्कोडेड क्यों है।
संपादित करें 2: जब मैं पोस्ट के बजाय फॉर्म को बदलता हूं, तो सब कुछ पूरी तरह से काम करता है। मुझे नहीं पता कि पोस्ट क्या टूट रहा है।
कई जुड़ी समस्याएं, लेकिन वास्तविक समस्या वेब.एक्सएमएल में फ़िल्टर ऑर्डर के साथ थी –