मैं फ्लैश (कम से कम 10.x) और यानी (7, 8, 9) में ढूंढ रहा हूं कि अगर मैं एक छवि यूआरएल लोड करने का प्रयास करता हूं जिसमें यूटीएफ -8 वर्ण बच गए हैं (पी% सी 3% 83% सी 2% ए 5) यूआरएल अनुरोध करने से पहले वर्ण डीकोड हो जाते हैं, भले ही मैं उन्हें डबल या ट्रिपल एन्कोड करता हूं। क्या इसे रोकने का कोई तरीका है ताकि यूआरएल (भागने के साथ) जिस तरह से मैं चाहता हूं वह वास्तव में अनुरोध किया जाता है?

इसका कारण यह है कि हम एन्कोडेड यूआरएल को यूटीएफ -8 डीकोडेड यूआरएल अनुरोधों पर 301 की http स्थिति देते हैं जो फ्लैश फिर अनुरोध करने का प्रयास करता है (लेकिन यानी इसे फिर से डीकोड करता है) और मैं 301 + यानी की वजह से अनंत लूप में फंस जाता हूं ऑटो-डिकोडिंग।

संपादित करें, कोड नमूना जोड़ना:

var url:URLRequest = new URLRequest('http://mydomain.com/p%C3%A5.jpg');
var loader:Loader = new Loader();
loader.load(url);

अब मैं http://mydomain.com/p%C3% के रूप में लाइन पर जाने का अनुरोध चाहता हूं A5.jpg (और यह अन्य ब्राउज़रों में होता है), लेकिन IE में यह http://mydomain के रूप में आगे बढ़ता है। कॉम/pÃ¥.jpg

संपादित करें: मैंने% को% 25 (डबल एन्कोडिंग %) के साथ बदलने के (अच्छे) सुझाव की भी कोशिश की, लेकिन यह काम नहीं किया, इसने इस अनुरोध को तार पर जाने का कारण बना दिया:

http://mydomain.com/p%25C3%25A5.jpg

0
Shizam 16 मई 2011, 20:51
ऐसा लगता है कि आप urlencode का दुरुपयोग कर रहे हैं। अनुरोध करने वाला फ़्लैश कोड पोस्ट करें
 – 
The_asMan
16 मई 2011, 21:49
आईई न केवल यूआरएल को डीकोड कर रहा है, यह संभवतः इसे गलत तरीके से डीकोड कर रहा है। यह विंडोज़ डिफ़ॉल्ट एन्कोडिंग (आईएसएच) का उपयोग कर रहा है, जब यह शायद यूटीएफ -8 होना चाहिए। ऐसा इसलिए हो सकता है क्योंकि पेज शायद यूटीएफ -8 का उपयोग करने के लिए सेट नहीं है।
 – 
bzlm
16 मई 2011, 22:47
ऐसा लगता है कि यह इसे सही ढंग से डीकोड कर रहा है, तार पर अनुरोध डीकोडेड यूआरएल है, मेरी इच्छा है कि यह अनएन्कोडेड यूआरएल भेज देगा जैसा कि मैं इसे निर्दिष्ट करता हूं।
 – 
Shizam
17 मई 2011, 01:40
मैं इसे वापस लेता हूं, bzlm आप सही हैं, उन पात्रों को गलत तरीके से एन्कोड किया गया है, जो वास्तव में समस्या का हिस्सा बन गए हैं!
 – 
Shizam
17 मई 2011, 02:20

1 उत्तर

सबसे बढ़िया उत्तर

IE शायद फ़ाइल नाम को पहले डीकोड करके हल करने का प्रयास कर रहा है।

301 एक रीडायरेक्ट है
क्यों न सिर्फ एक रीडायरेक्ट पेज बनाया जाए यह आपके लिए दूसरा विकल्प हो सकता है।

var url:URLRequest = new URLRequest('http://mydomain.com/redirpage.php?page=p%C3%A5.jpg');
1
The_asMan 16 मई 2011, 23:25
आईई निश्चित रूप से इसे पहले डीकोड करके फ़ाइल नाम को हल करने का प्रयास कर रहा है जो थोड़े लंगड़ा लगता है क्योंकि मैं इसे बता रहा हूं कि मैं यूआरएल से कैसे अनुरोध करता हूं और इसे बदल रहा हूं। रीडायरेक्ट पेज एक समाधान है लेकिन यह हमारे सीडीएन कैशिंग को गड़बड़ कर देगा क्योंकि अनुरोध यूआरएल सीडीएन द्वारा कैश किए गए से अलग होगा।
 – 
Shizam
17 मई 2011, 01:32
अपने सर्वर स्क्रिप्ट में पारित पैरामीटर के मान के साथ स्थान को पॉप्युलेट करें "पृष्ठ =" रीडायरेक्ट पृष्ठ को कैसे सेट अप करें, इस पर निम्न लिंक देखें। webconfs.com/how-to-redirect-a-webpage.php< /ए>
 – 
The_asMan
17 मई 2011, 01:44