"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > json_encode() लैटिन1 एन्कोडिंग के साथ MySQL डेटाबेस से उच्चारण वर्णों को एन्कोड करने में विफल क्यों होता है?

json_encode() लैटिन1 एन्कोडिंग के साथ MySQL डेटाबेस से उच्चारण वर्णों को एन्कोड करने में विफल क्यों होता है?

2024-11-07 को प्रकाशित
ब्राउज़ करें:730

Why Does json_encode() Fail To Encode Accented Characters From a MySQL Database with Latin1 Encoding?

JSON एन्कोडिंग MySQL में UTF-8 वर्णों के साथ संघर्ष करती है

जब लैटिन1_स्वीडिश_ci एन्कोडिंग वाले डेटाबेस से उच्चारण वर्णों को पुनः प्राप्त करने का प्रयास किया जाता है और उन्हें json_encode() का उपयोग करके JSON में एन्कोड किया जाता है, परिणाम अप्रत्याशित हो सकता है. इच्छित परिणाम, जैसे "एबोर्ड ए प्लॉफ़े", "शून्य" में बदल जाता है, जिससे एन्कोडेड JSON अमान्य हो जाता है।

इस समस्या को हल करने के लिए, पुनर्प्राप्त मानों को पहले स्पष्ट रूप से UTF-8 में एन्कोड करना आवश्यक है json_encode() लागू करना। यह सुनिश्चित करता है कि JSON आउटपुट में सही UTF-8 अक्षर हैं और तदनुसार मान्य है। इस समाधान को कार्यान्वित करने का तरीका इस प्रकार है:

// Initialize an empty array for the encoded result set
$rows = array();

// Iterate over the PHPMyAdmin result set
while ($row = mysql_fetch_assoc($result)) {
  // Apply UTF-8 encoding to each row value
  $rows[] = array_map('utf8_encode', $row);
}

// Output the encoded $rows
echo json_encode($rows);

इस संशोधित कोड में, हम परिणाम सेट में प्रत्येक पंक्ति के प्रत्येक तत्व पर utf8_encode लागू करने के लिए array_map फ़ंक्शन का उपयोग करते हैं। यह सुनिश्चित करता है कि json_encode निष्पादित होने से पहले सभी वर्ण UTF-8 में ठीक से एन्कोड किए गए हैं। नतीजतन, परिणामी JSON आउटपुट वांछित वर्णों को सटीक रूप से प्रतिबिंबित करेगा, उच्चारण वर्णों को इच्छानुसार संरक्षित करेगा।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3