यह पैरामीटर यूनिकोड के रूप में अपने पैरामीटर को एन्कोड करने के लिए इंटरनेट एक्सप्लोरर (5, 6, 7 और 8) को मजबूर करने के लिए फ़ॉर्म में जोड़ा गया था।
विशेष रूप से, यदि उपयोगकर्ता ब्राउज़र के एन्कोडिंग को लैटिन -1 में स्विच करता है तो यह बग ट्रिगर किया जा सकता है। यह समझने के लिए कि कोई उपयोगकर्ता कुछ पागल क्यों करने का फैसला करेगा, this google search देखें। एक बार उपयोगकर्ता ने वेब साइट को लैटिन -1 मोड में डाल दिया है, अगर वे अक्षरों का उपयोग करते हैं जिन्हें लैटिन -1 और यूनिकोड (उदाहरण के लिए, é या ç, नामों में आम) दोनों के रूप में समझा जा सकता है, तो इंटरनेट एक्सप्लोरर उन्हें लैटिन में एन्कोड करेगा -1।
इसका मतलब है कि यदि कोई उपयोगकर्ता "चे ग्वेरा" की खोज करता है, तो यह सर्वर-साइड पर गलत तरीके से आ जाएगा। रुबी 1.9 में, इसके परिणामस्वरूप एन्कोडिंग त्रुटि होगी जब पाठ अनिवार्य रूप से नियमित अभिव्यक्ति इंजन में अपना रास्ता बना देता है। रूबी 1.8 में, इसका परिणाम उपयोगकर्ता के लिए टूटे हुए परिणाम होंगे।
एक पैरामीटर बनाकर जिसे केवल आईई द्वारा यूनिकोड चरित्र के रूप में समझा जा सकता है, हम आईई को स्वीकार्य-वर्णसेट विशेषता को देखने के लिए मजबूर कर रहे हैं, जो तब इसे सभी वर्णों को यूटीएफ -8 के रूप में एन्कोड करने के लिए कहता है, यहां तक कि जिसे लैटिन -1 में एन्कोड किया जा सकता है।
ध्यान रखें कि रूबी 1.8 में, यह अत्यंत अपने UTF-8 डेटाबेस में लैटिन -1 डेटा प्राप्त करने के तुच्छ है (के बाद से पूरे ढेर की जाँच में कुछ भी नहीं बाइट्स है कि उपयोगकर्ता किसी भी बिंदु पर भेजा मान्य हैं कि यूटीएफ -8 वर्ण)। नतीजतन, यह इस उपयोगकर्ता के सामने वाली बग को प्रदर्शित करने के लिए रूबी अनुप्रयोगों (और PHP अनुप्रयोगों इत्यादि) के लिए बेहद आम है, और इसलिए उपयोगकर्ताओं के लिए एन्कोडिंग को एक उपचारात्मक उपाय के रूप में बदलने की कोशिश करना बेहद आम है।
सभी ने कहा, जब मैंने यह पैच लिखा था, मुझे नहीं पता था कि पैरामीटर का नाम कभी भी उपयोगकर्ता के सामने वाले स्थान में दिखाई देगा (यह उन फॉर्मों के साथ होता है जो जीईटी क्रिया का उपयोग करते हैं, जैसे खोज फ़ॉर्म) । चूंकि यह करता है, हम इस पैरामीटर का नाम _e
पर बदल देंगे, और एक अधिक निर्दोष दिखने वाले यूनिकोड चरित्र का उपयोग करेंगे।
यह एक 'प्रलेखन' प्रकार क्यू एंड ए है - मैंने यहां एक जवाब खोजने की कोशिश की और प्रतिबद्ध संदेशों के माध्यम से खुदाई करने की कोशिश की, इसलिए मुझे लगा कि मैं इसे अन्य लोगों के लिए साझा करूंगा जो स्नोमैन के बारे में सोच रहे हैं ... –
यह भी देखें [इस] (http://programmers.stackexchange.com/q/168751/37622)। – MasterMastic