मेरे पास एक PHP स्क्रिप्ट है जो विभिन्न प्रकार की भाषाओं से संबंधित है। दुर्भाग्यवश, जब भी मैं json_encode
का उपयोग करने का प्रयास करता हूं, तो कोई यूनिकोड आउटपुट हेक्साडेसिमल इकाइयों में परिवर्तित हो जाता है। क्या यह अपेक्षित व्यवहार है? आउटपुट को यूटीएफ -8 अक्षरों में बदलने का कोई तरीका है?PHP json_encode फ़ंक्शन यूटीएफ -8 तारों को हेक्साडेसिमल इकाइयों में क्यों परिवर्तित करता है?
यहाँ मैं क्या दिखाई दे रही है की एक उदाहरण है:
इनपुट
echo $text;
आउटपुट
База данни грешка.
इनपुट
json_encode($text);
आउटपुट
"\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u0438 \u0433\u0440\u0435\u0448\u043a\u0430."
आह। धन्यवाद! मुझे दस्तावेज़ीकरण को और सावधानीपूर्वक पढ़ना चाहिए था। धन्यवाद। –
मुझे आश्चर्य है कि इसे डिफ़ॉल्ट के रूप में सेट करने का कोई तरीका है या नहीं। –
JSON_UNESCAPED_UNICODE को PHP 5.4 में पेश किया गया था।0, और पिछले संस्करणों में अनुपलब्ध है। पिछले संस्करणों में इसका उपयोग करते समय आपको यह त्रुटि मिल जाएगी: "चेतावनी: json_encode() पैरामीटर 2 लंबे होने की अपेक्षा करता है, स्ट्रिंग में दिया गया है ..."। 5.3 समाधान के लिए नीचे CertaiN का उत्तर देखें। –