2011-12-05 22 views
6

के माध्यम से ® चरित्र भेजने में समस्याएं होने के कारण मेरे पास सरल एएसपीनेट वेब एप्लिकेशन है जो अजाक्स अनुरोध के लिए वाईयूआई का उपयोग कर रहा है। एप्लिकेशन टेक्स्ट बॉक्स से टेक्स्ट पढ़ता है और सर्वर पर AJAX अनुरोध भेजता है। पीछा कर रहा है कोडAJAX अनुरोध

<body> 
    <form id="form1" runat="server"> 
    <div> 
     <input id="txt" name="txt" type="text" value="[Enter some value]" /> 
     <input id="btn" type="button" value="button" /> 
    </div> 
    <div id="out"></div> 
    </form> 
</body> 

निम्न क्लाइंट स्क्रिप्ट Ajax अनुरोध

YAHOO.util.Event.onDOMReady(function() { 
    YAHOO.util.Event.addListener("btn", "click", function(evt) { 
     var url = "Server.aspx?type=test&txt=" + document.getElementById("txt").value; 
     var btn = document.getElementById("out"); 
     var cObj = YAHOO.util.Connect.asyncRequest('GET', url, { 
      success: function(o) { 
       btn.innerHTML += "<div>" + o.responseText + " = " + o.responseText.charCodeAt(0) + "</div>"; 
      }, 
      failure: function(o) { 
       confirm("Its failure"); 
      }, 
      cache: false 
     }); 
    }); 
}); 

क्या मैं आवेदन में क्या उपयोगकर्ता द्वारा दर्ज चरित्र स्वीकार करते हैं, db करने के लिए इसे बचाने के लिए और यह अजाक्स जवाबी कार्रवाई के लिए लिख है initializes है । सिस्टम यूनिकोड (डेटाबेस) का समर्थन नहीं करता है।

अब मेरी समस्या यह है कि जब टेक्स्ट बॉक्स में "पंजीकृत" ® वर्ण (0174) दर्ज किया जाता है और सर्वर पर भेजा जाता है तो मुझे # 65533 मिल रहा है जो उपयोगकर्ता ने टेक्स्ट बॉक्स पर दर्ज नहीं किया है। इसके अलावा ® यह चरित्र यूनिकोड चरित्र नहीं है तो यह व्यवहार क्यों है।

+0

आप किस चरित्र एन्कोडिंग का उपयोग करते हैं? आपने नोट किया कि यह यूनिकोड एन्कोडिंग में से कोई नहीं है, लेकिन आपने यह निर्दिष्ट नहीं किया है कि आप किस * * उपयोग करते हैं। – Piskvor

+0

क्या आपका मतलब सामग्री-एन्कोडिंग या अजाक्स अनुरोध का सामग्री-प्रकार भेजा गया है? –

+1

शायद कई अलग-अलग एन्कोडिंग (सेटिंग्स) शामिल हैं, और उनमें से सभी महत्वपूर्ण हो सकते हैं, उदा। डीबी एन्कोडिंग, क्लाइंट को दिए गए पृष्ठ का एन्कोडिंग, सर्वर पक्ष पर काम करते समय एन्कोडिंग। बीटीडब्लू।, क्या आपकी समस्या वास्तव में अकेले "पंजीकृत" चरित्र तक ही सीमित है, या क्या कोई अन्य पात्र भी इस समस्या को दिखा रहा है? – codeling

उत्तर

1

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

+0

इसके लिए धन्यवाद मैंने web.config में globalizatioin जोड़ने का प्रयास किया लेकिन यह मेरे लिए काम नहीं किया। इस पर कोई और इनपुट? –

+0

यदि मैं सही ढंग से समझ गया, तो AJAX अनुरोधों का उत्तर देने वाला सर्वर भाग पाठ प्राप्त करता है, इसे डेटाबेस में रखता है और इसे वापस भेजता है; भेजा गया वापस मूल्य गलत तरीके से आता है; लेकिन क्या आपने सर्वर पर मानों की जांच की है, क्या वे अभी भी सही हैं? – codeling

+0

वे भी गलत नहीं हैं ... मैंने सर्वर पर मानों की जांच की है जबकि डीबगिंग और सामग्री-प्रकार एप्लिकेशन/एक्स-www-form-urlencoded के रूप में आ रहा है; utf-8; –

2

कॉन्फ़िगरेशन समस्याओं के बारे में भूल जाओ, आपकी समस्या शायद आपके संपादक से संबंधित है और फ़ाइल फ़ाइलों को सहेजने के लिए इसका उपयोग कर रहा है। चरित्र एन्कोडिंग सेट करने के लिए पर्याप्त नहीं है, कभी-कभी इससे कोई फर्क नहीं पड़ता है, आपको फ़ाइलों को खुद को एक एन्कोडिंग में सहेजना है जो चरित्र सेट का समर्थन करता है, उदाहरण के लिए: बीओएम के बिना utf-8, एक संपादक प्राप्त करें जहां आप इसे देख सकते हैं जानकारी। निस्संदेह आपके वेब सर्वर, डेटा बेस सर्वर (मान लीजिए कि आप एक का उपयोग कर रहे हैं) और क्लाइंट के बीच बहुत कुछ हो सकता है। Whe वेब सर्वर में डिफ़ॉल्ट वर्ण चेकआउट करें, डेटाबेस और आपके संपादक को फ़ाइल एन्कोडिंग फ़ाइल फ़ाइलों को सहेजने के लिए उपयोग कर रहा है।