Thursday, 15 January 2015

nginx - URL with strange UTF8 symbol -


nginx पर, मेरे पास एक फाइल / यूआरएल है जिसमें जर्मन शब्द " frühling " है।

जब मैक + सफारी से यूआरएल एक्सेस किया जाता है तो एक समस्या है।

मैंने दो यूआरएल की कॉपी / चिपकाई - सही एक और मैक से एक और यहां परिणाम हैं:

<पूर्व> [एनएमएमएम @ ज़ेनबुक ~] $ बिल्ली & gt; एक फ्रेहलिंग ^ सी [एनएमएमएम @ ज़ेनबुक ~] $ बिल्ली & gt; बी फ्रेहलिंग ^ सी [एनएमएमएम @ ज़ेनबुक ~] $ xxd एक 0000000: 66 72 75 सीसी 88 68 6 सी 69 6 ई 67 0 ए फ्रू..हलिंग। [एनएमएमएम @ ज़ेनबुक ~] $ xxd बी 0000000: 66 72 सी 3 बीसी 68 6 सी 69 6 ई 67 0 ए एफ..हलिंग।

"a" सही है, "बी" गलत है लगता है कि अंतर umlaut " ü " के बाद ही है, वहां अतिरिक्त सामान्य " u " है इसके अलावा umlaut " ü " किसी तरह अलग है।

यह प्रतीक कहाँ से आया है? मेरे क्लाइंट कभी-कभी चीजों को तैयार करने के लिए MsWord या LibreOffice का उपयोग करता है क्या कोई रास्ता nginx को किसी भी तरह से संभाल (पुनर्निर्माण) कर सकता है?

Google खोज के बाद मैंने पाया:

लगता है कि यू umlaut करने के दो तरीके हैं:

सही utf8 एन्कोडिंग है (आपको हेडडम्प में c3 bc देखेंगे):

<पूर्व> यू + 00 एफसी ü सी 3 बीसी डाइए के साथ लैटिन छोटे अक्षर यू।

एक मान्य UTF-8 वर्ण अनुक्रम जो समान रूप से दिखाता है, लेकिन "ü" (फिर से, हेक्साडम्प में 75 सीसी 88) नहीं है:

  यू + 0075 यू 75 लैटिन छोटे अक्षर U यू + 0308 ̈ सीसी 88 कॉम्बिनेशन डायरेसिस  

अपडेट करें:

खोज का उपयोग कर आप सभी फ़ाइलों को सही या गलत umlauts के साथ पा सकते हैं, "सामान्य" तरीके से काम करता है:

  ढूंढें -नाम '* ü *'  

हालांकि आपको सही umlaut "मार्ग" को कॉपी / पेस्ट करना होगा या एक बैश फ़ाइल बनाना होगा।

संभव समाधान I

(अब भी यह कैसे एनजीएन स्तर से तय किया जा सकता है यह देख रहा है)


No comments:

Post a Comment