दिलचस्प पोस्ट
ग्रहण में कुंजीपटल शॉर्टकट्स को संशोधित करने के लिए क्या कोई रास्ता है? क्या C ++ में संपूर्ण सी भाषा होती है? CMUSphinx PocketSphinx – शब्दों की सभी (या बड़ी मात्रा में) पहचानें C ++ मानक में संकेतकों के लिए यूनिवर्सल कम <> IIS 5.1 (Windows XP) पर asp.NET MVC को परिनियोजित करें जावास्क्रिप्ट में ऑब्जेक्ट के सरणी की तुलना करना आईओएस 9 सेगू ऐज़ टू फ्रीज (कोई दुर्घटना या त्रुटि फेंका नहीं) डीजेango कस्टम मैनेजर – मैं लॉग-इन उपयोगकर्ता द्वारा बनाई गई वस्तुओं को कैसे वापस कर सकता हूं? कन्वर्ट। परिवर्तनीय प्रकार () में विफल रहता है आरएसए हस्ताक्षर आकार? सी प्रोग्राम में एमएक्सएआरएआरए तर्कों के साथ MATLAB Coder codegen द्वारा सी पुस्तकालय का उपयोग कैसे करें? कैसे एक टंकिनर आवेदन में एक टर्मिनल एम्बेड करने के लिए? Levenshtein दूरी आधारित विधियों बनाम Soundex धागा "मुख्य" java.lang.NoSuchMethodError में अपवाद: मुख्य PHP में सप्ताह के पहले दिन प्राप्त करें?

फ़ॉर्म में वर्ण एन्कोडिंग को सेट करना Internet Explorer के लिए सबमिट करें

मेरे पास एक ऐसा पृष्ठ है जिसमें फ़ॉर्म शामिल है यह पृष्ठ सामग्री प्रकार के टेक्स्ट / html के साथ परोसा जाता है; charset = utf-8 आईएसओ -885 9 -1 वर्ण एन्कोडिंग का उपयोग करके मुझे इस फ़ॉर्म को सर्वर पर जमा करना होगा। क्या यह इंटरनेट एक्सप्लोरर के साथ संभव है?

तत्व बनाने के लिए स्वीकार-वर्णसेट विशेषता सेट करना, जैसे, फ़ायरफ़ॉक्स, ओपेरा आदि के लिए काम करता है, लेकिन आईई के लिए नहीं।

<form accept-charset="ISO-8859-1"> ... </form> 

संपादित करें: यह फ़ॉर्म सर्वर ए द्वारा बनाया गया है और सर्वर बी को सबमिट किया जाएगा I सर्वर बी पर कोई नियंत्रण नहीं है I

अगर मैं सर्वर ए को वर्णसेट आईएसओ -8859-1 के साथ सामग्री की सेवा के लिए सब कुछ काम करता हूं, लेकिन मैं सर्वर ए की एन्कोडिंग में बदलाव के बिना यह काम करने का एक तरीका देख रहा हूं। मुझे सर्वर ए में एन्कोडिंग सेट करने के बारे में एक और सवाल है

Solutions Collecting From Web of "फ़ॉर्म में वर्ण एन्कोडिंग को सेट करना Internet Explorer के लिए सबमिट करें"

इस के लिए एक सरल हैक है:

एक ऐसी इकाई के साथ छिपे हुए इनपुट फ़ील्ड को सम्मिलित करें जो केवल वर्ण में होती है, सर्वर को आपकी पोस्टिंग (या जीईटी करना) स्वीकार करने के लिए सेट करें

उदाहरण: यदि फॉर्म आईएसओ -8859-1 परोसने वाले एक सर्वर पर स्थित है और फॉर्म यूटीएफ -8 की उम्मीद कर रहे सर्वर पर पोस्ट करेगा तो इस तरह से कुछ ऐसा डालें:

 <input name="iehack" type="hidden" value="&#9760;" /> 

IE तब "पता लगाता है" कि फ़ॉर्म में एक UTF-8 वर्ण होता है और जब आप पोस्ट या जीटी प्राप्त करते हैं तो UTF-8 का उपयोग करें। अजीब है, लेकिन यह काम करता है

सभ्य ब्राउज़र के साथ:

 <form accept-charset="ISO-8859-1" .... > 

IE के साथ (कोई):

 document.charset = 'ISO-8859-1'; // do this before submitting your non-utf8 <form>! 

ऐसा लगता है कि यह नहीं किया जा सकता, कम से कम IE (6 और 7) के वर्तमान संस्करण के साथ।

IE फार्म विशेषता स्वीकार-वर्णसेट का समर्थन करता है, लेकिन तभी इसका मान 'utf-8' है

इसका समाधान उस पृष्ठ के लिए एन्कोडिंग 'आईएसओ -8859-1' का निर्माण करने के लिए सर्वर ए को संशोधित करना है जिसमें फ़ॉर्म शामिल है।

मुझे यहां वही समस्या मिली है मेरे पास एक यूटीएफ -8 पृष्ठ है जो आईएसओ -8859-1 सर्वर पर पोस्ट करने की आवश्यकता है।

ऐसा लगता है कि आईईओ आईएसओ -8859-1 को नियंत्रित नहीं कर सकता लेकिन यह आईएसओ -885 9 -15 को नियंत्रित कर सकता है

 <form accept-charset="ISO-8859-15"> ... </form> 

इसलिए यह मेरे लिए काम करता है, क्योंकि आईएसओ -8859-1 और आईएसओ -8859-15 लगभग समान हैं।

यदि आपके पास सर्वर पर कोई भी एक्सेस है, तो इसकी प्रसंस्करण UTF-8 में बदलें। गैर-यूटीएफ -8 फॉर्म प्रस्तुत करने की कला एक लंबी और दुखद कहानी है; फॉर्म और आई 18 एन के बारे में यह दस्तावेज ब्याज की हो सकती है। मैं समझता हूं कि आप अंतरराष्ट्रीय समर्थन की परवाह नहीं करते हैं; आप हमेशा यह सुनिश्चित करने के लिए कि वह लैटिन -1 में रहता है, यूटीएफ -8 डेटा को HTML संस्थाओं में परिवर्तित कर सकता है

बस एक ही समस्या है और मेरे पास एक अपेक्षाकृत सरल समाधान है जिसके लिए पृष्ठ वर्ण एन्कोडिंग (जो गधे में दर्द है) में कोई बदलाव की आवश्यकता नहीं है।

उदाहरण के लिए, आपकी साइट यूटीएफ -8 में है और आप आईओ -8859-1 में एक साइट पर एक फार्म पोस्ट करना चाहते हैं। बस पोस्ट की कार्रवाई को अपनी साइट पर एक पृष्ठ पर बदलें जो utf-8 से iso-8859-1 के पोस्ट किए गए मानों को रूपांतरित कर देगा।

यह कुछ ऐसा आसानी से किया जा सकता है:

 <?php $params = array(); foreach($_POST as $key=>$value) { $params[] = $key."=".rawurlencode(utf8_decode($value)); } $params = implode("&",$params); //then you redirect to the final page in iso-8859-1 ?> 

रूसी प्रतीकों 'विंडो -1251' के लिए

 <form action="yourProcessPage.php" method="POST" accept-charset="utf-8"> <input name="string" value="string" /> ... </form> 

जब बस स्ट्रिंग को cp1251 में कनवर्ट करें

 $string = $_POST['string']; $string = mb_convert_encoding($string, "CP1251", "UTF-8"); 

मुझे पूरा यकीन है कि यह IE के पुराने संस्करणों के साथ संभव नहीं होगा I accept-charset विशेषता तैयार accept-charset पहले, form तत्वों को निर्दिष्ट करने के लिए कोई रास्ता नहीं था कि कौन से वर्ण एन्कोडिंग स्वीकार किए जाते हैं, और सबसे अच्छा यह हो सकता है कि ब्राउजर ऐसा कर सकतें हैं जिस रूप में वह प्रपत्र होगा जो पृष्ठ में है।

यह थोड़ा दुखी है कि आपको पता होना चाहिए कि किस एन्कोडिंग का उपयोग किया गया था – आजकल हम उम्मीद करते हैं कि हमारे वेब फ्रेमवर्क इस तरह के विवरणों को अदृश्य रूप से खारिज करने के लिए और पाठ डेटा को यूनिकोड स्ट्रिंग के रूप में, पहले से ही डीकोड किए गए के रूप में प्रकट करेंगे …

ऐसा लगता है कि माइक्रोसॉफ्ट को स्वीकार-वर्णसेट जानता है, लेकिन उनके डॉक्टर यह नहीं बताते हैं कि किस संस्करण को काम करना शुरू हो रहा है …
आप यह नहीं बताते कि ब्राउज़र के किस संस्करण में आपने इसका परीक्षण किया है।

मुझे याद है कि इंटरनेट एक्सप्लोरर भ्रमित हो जाता है अगर स्वीकार्य-वर्णसेट एन्कोडिंग सामग्री-प्रकार हैडर में निर्दिष्ट एन्कोडिंग से मेल नहीं खाता है। आपके उदाहरण में, आप दावा करते हैं कि दस्तावेज को यूटीएफ -8 के रूप में भेजा जाता है, लेकिन आईएसओ -885 9 -1 में फ़ॉर्म जमा करना चाहते हैं उनसे मिलान करने का प्रयास करें और देखें कि क्या आपकी समस्या का समाधान है।

 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">