दिलचस्प पोस्ट
पायथन में सापेक्ष आयात कैसे करें? मैं एक पाठ फ़ाइल में एक निर्दिष्ट पंक्ति कैसे पढ़ूं? पॉइंटर्स का उपयोग करके एक अलग फ़ंक्शन से स्थानीय चर तक कैसे पहुंचें? 31 दिसंबर को क्यों साल का एक सप्ताह के रूप में 1 देता है? क्या यह कभी कभी <BR का उपयोग करने के लिए बुरा है? JSF में स्थानीयकरण, प्रति अनुरोध / दृश्य के बजाय प्रति सत्र चयनित स्थान को कैसे याद रखना चाहिए कैसे मेवेन के माध्यम से JSF पुस्तकालयों को ठीक से स्थापित और कॉन्फ़िगर करें? आप Java या C # में कुशल परिपत्र बफर कैसे कोड करेंगे क्लासेस, ऑब्जेक्ट और इंस्टेंस के बीच अंतर मैं जावा में कंप्यूटर की सीपीयू, मेमोरी, और डिस्क उपयोग की निगरानी कैसे करूं? संघ, एकत्रीकरण और संरचना के बीच अंतर क्या है? प्रत्येक कॉलम सेल के लिए स्तंभ कक्षों का विस्तार करना व्यवहार ggplot2 एईएस () facet_grid () के साथ संयोजन में जब एईएस (डॉलर) के लिए डॉलर के संकेत चिह्न के साथ चर गुजर रहा है MySQL – कॉलम के लिए पंक्तियाँ आईडी को पूरे पृष्ठ में अद्वितीय होना चाहिए?

रेल के 3 रूपों के लिए रूबी में _nownowman param क्या है?

रेल 3 पर रुबी में (वर्तमान में बीटा 4 का उपयोग कर), मुझे पता है कि form_for या form_for सहायकों का उपयोग करते समय, ☃ ( यूनिकोड \ x9731) के मूल्य के साथ _snowman नामक छिपा हुआ फ़ील्ड दिखा रहा है।

तो, यह क्या है?

वेब के समाधान से एकत्रित समाधान "रेल के 3 रूपों के लिए रूबी में _nownowman param क्या है?"

इंटरनेट पैरामीटर (5, 6, 7 और 8) को इसके मापदंडों को यूनिकोड के रूप में सांकेतिक शब्दों में बदलने के लिए मजबूर करने के लिए यह पैरामीटर जोड़ा गया था।

विशेष रूप से, यह बग ट्रिगर किया जा सकता है अगर उपयोगकर्ता लैटिन -1 के ब्राउज़र की एन्कोडिंग स्विच करता है यह समझने के लिए कि कोई प्रयोक्ता ऐसा प्रतीत होता है कि ऐसा पागल करने का फैसला क्यों किया जाता है, इस Google खोज को देखें उपयोगकर्ता ने वेब साइट को लैटिन-1 मोड में डाल दिए जाने पर, यदि वे उन वर्णों का उपयोग करते हैं जिन्हें लैटिन-1 और यूनिकोड (उदाहरण के लिए, æ या ç, नामों में सामान्य) के रूप में समझा जा सकता है, तो इंटरनेट एक्सप्लोरर उन्हें लैटिन में एन्कोड करेंगे -1।

इसका अर्थ है कि यदि कोई उपयोगकर्ता "चे ग्वेरा" की खोज करता है, तो यह सर्वर-साइड पर गलत ढंग से आ जाएगा। रूबी 1.9 में, यह एक एन्कोडिंग त्रुटि का परिणाम होगा जब पाठ अनिवार्य रूप से नियमित अभिव्यक्ति इंजन में अपना रास्ता बना देता है रूबी 1.8 में, इसके परिणामस्वरूप उपयोगकर्ता के लिए टूटी हुई परिणाम होंगे।

एक पैरामीटर बनाकर केवल IE को यूनिकोड वर्ण के रूप में समझा जा सकता है, हम आईई को स्वीकार-वर्णसेट विशेषता को देखने के लिए मजबूर कर रहे हैं, जो फिर यूटीएफ -8 के रूप में सभी वर्णों को एन्कोड करने के लिए कहता है, यहां तक ​​कि एनकोड किये जा सकते हैं लैटिन -1 में

ध्यान रखें कि रूबी 1.8 में, लैटिन-1 डेटा को अपने UTF-8 डाटाबेस में प्राप्त करने के लिए बहुत तुच्छ है (चूंकि पूरी स्टैक की जांच में कुछ भी नहीं है कि उपयोगकर्ता किसी भी समय भेजे गए बाइट वैध UTF-8 वर्ण हैं)। नतीजतन, यह उपयोगकर्ता-संबंधी बग को प्रदर्शित करने के लिए रुबी एप्लिकेशन (और PHP एप्लिकेशन, इत्यादि आदि) के लिए बहुत ही सामान्य है, और इसलिए उपयोगकर्ताओं को उपशामक उपाय के रूप में एन्कोडिंग को बदलने का प्रयास करने के लिए बहुत ही सामान्य है।

जो मैंने कहा था, जब मैंने यह पैच लिखा था, मुझे नहीं पता था कि पैरामीटर का नाम कभी उपयोगकर्ता के सामने दिखता है (यह ऐसे फॉर्म के साथ होता है, जो कि GET कार्रवाई का उपयोग करते हैं, जैसे खोज फ़ॉर्म)। चूंकि ऐसा होता है, हम इस पैरामीटर को _e नाम से बदल _e , और अधिक निन्दा-रहित यूनिकोड वर्ण का उपयोग करेंगे।

यह यहां है इंटरनेट एक्सप्लोरर 5 का समर्थन करने के लिए और उसके फॉर्म के लिए यूटीएफ -8 का उपयोग करने के लिए प्रोत्साहित करें।

यहां देखा गया प्रतिबद्ध संदेश इसका विवरण निम्नानुसार है:

कई ज्ञात वेब एन्कोडिंग समस्याओं को ठीक करें:

  • सभी रूपों पर स्वीकार-वर्णित निर्दिष्ट करें। सभी हाल के ब्राउज़र्स, साथ ही आईई 5 +, फार्म मापदंडों के लिए निर्दिष्ट एन्कोडिंग का उपयोग करेंगे
  • दुर्भाग्य से, आईई 5 + स्वीकार नहीं करेगी, जब तक कि फ़ॉर्म के मूल्यों में कम से कम एक अक्षर पेज के वर्णसेट में न हो। चूंकि उपयोगकर्ता डिफ़ॉल्ट को ओवरराइड कर सकता है
    वर्णसेट (जो कि यूटीएफ -8 के लिए रेल करता है), हम एक छिपी हुई इनपुट को एक यूनिकोड वर्ण युक्त करते हैं, जिससे आईई को स्वीकार-वर्णसेट को देखने के लिए मजबूर किया जा सकता है।
  • अब जब कि वेब इनपुट का विशाल बहुमत UTF-8 है, हम यूटिफ़ -8 में इनबाउंड पैरामीटर सेट करते हैं। यह एएससीआईआई -8 बीआईटी और असंगत एनकोडिंग के कई मामलों को समाप्त करेगा
    UTF-8।
  • आप सुरक्षित रूप से पैराम्स की अनदेखी कर सकते हैं [: _ snowman]

संक्षेप में, आप सुरक्षित रूप से इस पैरामीटर को अनदेखा कर सकते हैं।

फिर भी, मुझे यकीन नहीं है कि हम इंटरनेट एक्सप्लोरर 5 जैसी पुरानी प्रौद्योगिकियों का समर्थन क्यों कर रहे हैं। यदि आप मुझसे पूछते हैं तो रेल के निर्णय पर बहुत ही गैर रूबी की तरह लगता है।