पर कॉल में utf8 एन्कोडिंग को लागू करें मैं एक नोड मध्य-स्तर से जावा बैकएंड में कॉल कर रहा हूं और क्वेरी पैरा के रूप में एक स्ट्रिंग पास कर रहा हूं। जब तक गैर-अंग्रेज़ी वर्णमाला वर्ण का उपयोग नहीं किया जाता है तब तक सबकुछ बढ़िया काम करता है (उदा: ř, ý)। जब जावा इन पात्रों को प्राप्त करता है फेंक देता है:नोड से जावा
parse exception: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8!
इस कॉल पूरी तरह से काम करता है:
GET http://localhost:8000/server/name?name=smith
इस कॉल ऊपर त्रुटि के साथ विफल:
GET http://localhost:8000/server/name?name=sořovský
मेरा प्रश्न शामिल है जहां इस मुद्दे के समाधान के लिए । मुझे नोड के लिए this utf8 एन्कोडर मिला है और भविष्य में मेरी जावा परत को कॉल करने से पहले मेरे स्ट्रिंग को utf8 के रूप में एन्कोड करने के बारे में सोच रहा था। क्या यह सही दृष्टिकोण है या क्या मुझे जावा के भीतर कुछ करना चाहिए?
{
...
accept: 'application/json, text/plain, */*',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q=0.8,el;q=0.6',
...
}
यदि जावा पक्ष आपको यह त्रुटि देता है, तो इनपुट यूटीएफ -8 में उचित रूप से एन्कोड नहीं किया गया है, इसलिए आपको यह देखना होगा कि नोड पक्ष इसे ठीक से एन्कोड क्यों नहीं कर रहा है। अधिक जानकारी के बिना (आपका कोड कैसा दिखता है?) अधिक विस्तृत उत्तर देने में बहुत मुश्किल है। – Jesper
@ जेस्पर, धन्यवाद! मैंने अपने अनुरोध विकल्पों को दिखाते हुए अपने प्रश्न में ब्योरा जोड़ा। – MattDionis
आपके यूआरएल (और संभावित अनुरोध शीर्षलेख) के बारे में अधिक जानकारी चाहिए। क्या आप अनुरोध हेडर को कैप्चर कर सकते हैं और इसे अपने प्रश्न में जोड़ सकते हैं? –