"Utf8 =?" का उपयोग "utf8 = true" के लिए बेहतर है?


569

मैंने हाल ही में कुछ यूआरआई को क्वेरी पैरामीटर "utf8 = few" से युक्त देखा है। मेरा पहला प्रभाव ("मिमीम, कूल लग रहा है" सोचने के बाद) यह था कि इसका उपयोग एक टूटे हुए चरित्र एन्कोडिंग का पता लगाने के लिए किया जा सकता है।

तो, क्या यह चरित्र एन्कोडिंग के साथ संभावित समस्याओं को हल करने का एक बेहतर तरीका है, या क्या यह सिर्फ एक डेवलपर है जो हैक के साथ मज़ेदार है?


7
मैं असहमत हूं। वहाँ योजनाएँ हैं जो URN की तरह दिखती हैं और जो क्वेरी पैरामीटर लेती हैं - जैसे Bitcoin। यूआरआई ब्राउज़र तक ही सीमित नहीं हैं। En.wikipedia.org/wiki/URI_scheme देखें । यह प्रश्न उस सामान्य मामले को भी संबोधित कर सकता है जहां एक ब्राउज़र हैंडलर के एक्सेस के दौरान कैरेक्टर एन्कोडिंग की आवश्यकता होती है।
गैरी रोवे

3
इन URL का उदाहरण दें या ऐसा नहीं हुआ।
हक्रे

10
ऑफ टॉपिक, लेकिन ओके। यहाँ मेरा व्यक्तिगत दान Bitcoin URI है: बिटकॉइन: 1KzTSfqjF2iKCduwz59nv2uqh1W2JsTxZH? राशि = 0.5 और लेबल = फुर्तीला% 20Stack। ध्यान दें कि योजना अनिवार्य रूप से एक यूआरएन है जिसमें क्वेरी पैरामीटर है, लेकिन यह एक प्रोटोकॉल हैंडलर को सौंप देता है। इस तरह का URI शायद "utf8 = could" वर्कअराउंड से भी लाभान्वित हो सकता है।
गैरी रोवे

1
@GaryRowe तो क्या आपको कभी उस लिंक से कोई दान मिला है?
क्युरेलसा

जवाबों:


814

डिफ़ॉल्ट रूप से, IE के पुराने संस्करण (<= 8) यदि संभव हो तो लैटिन -1 एन्कोडिंग में प्रपत्र डेटा प्रस्तुत करेंगे। एक चरित्र जिसमें लैटिन -1 में व्यक्त नहीं किया जा सकता है, IE को इसके फॉर्म सबमिशन के लिए UTF-8 एन्कोडिंग का उपयोग करने के लिए मजबूर किया जाता है, जो विभिन्न बैकएंड प्रक्रियाओं को सरल करता है, उदाहरण के लिए डेटाबेस दृढ़ता।

यदि पैरामीटर इसके बजाय था, utf8=trueतो यह इन ब्राउज़रों में UTF-8 एन्कोडिंग को ट्रिगर नहीं करेगा।


8
@LarsViklund मुझे अपनी टिप्पणी के साथ स्पष्ट होना चाहिए था। मेरा मतलब था कि चरित्र एन्कोडिंग से जुड़ा सत्यापन सरल है, बाईपास नहीं।
गैरी रोवे

3
@ लार्स सही, यह आपके इनपुट की जांच करने से आपको अनुपस्थित नहीं करता है। लेकिन इसका मतलब यह है कि एन्कोडिंग ट्विक्स केवल आपकी सुरक्षा से निपटने का हिस्सा बन जाता है और आपके "मानक प्रसंस्करण" पथ की अवधारणा को दागदार नहीं करता है
गैरेथ

36
इसके अलावा stackoverflow.com/questions/3222013/… देखें । जाहिर तौर पर रूबी ऑन रेल्स में एक स्नोमैन चरित्र का उपयोग किया गया था, और इसे एक चेकमार्क में बदल दिया गया था जो कम अस्पष्ट लेकिन कम हास्यास्पद था।
जैक वी। 10

11
@JohnLBevan इसे प्राप्त करने वाले अंत तक नजरअंदाज कर दिया है, यह ब्राउज़र 1 के बजाय utf8 में चीजों को भेजने के लिए मजबूर करने का काम किया है। मैंने इसे यानी = also के रूप में भी देखा है (यह 'पू का ढेर' कोड बिंदु है, ऐसा लगता है कि यह टिप्पणियों में प्रतिपादन नहीं कर रहा है।)
cabbey

3
@ गैरेथ: क्या आप इस कथन का समर्थन कर सकते हैं कि IE <= 8 फ़ॉर्म दस्तावेज़ और / या एन्कोडिंग का समर्थन नहीं करते हैं?
हक्रे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.