जब मेरी PHP स्क्रिप्ट UTF-8
एन्कोडिंग के साथ चलती है, गैर-असीसी वर्णों का उपयोग करके, कुछ PHP फ़ंक्शन strtolower()
काम नहीं करते हैं। मैं mb_strtolower का उपयोग कर सकता हूं, लेकिन यह स्क्रिप्ट विभिन्न प्लेटफॉर्म और कॉन्फ़िगरेशन के सभी प्रकारों पर चल सकती है, और मल्टीबाइट स्ट्रिंग एक्सटेंशन उपलब्ध नहीं हो सकता है। मैं जांच सकता हूं कि फ़ंक्शन उपयोग से पहले मौजूद है या नहीं, लेकिन मेरे पास पूरे कोड में स्ट्रिंग फ़ंक्शन हैं और प्रत्येक इंस्टेंस को प्रतिस्थापित नहीं करेंगे।set_locale (LC_CTYPE, 'C') क्या करता है; वास्तव में करते हैं?
किसी ने set_locale(LC_CTYPE, 'C')
का उपयोग करने का सुझाव दिया, जो कि वह कहता है कि स्ट्रिंग फ़ंक्शंस सही ढंग से काम करने का कारण बनता है। यह ठीक लगता है, लेकिन मैं यह समझने के बिना उस परिवर्तन को शुरू नहीं करना चाहता हूं कि यह वास्तव में क्या कर रहा है। मैंने पहले संख्याओं के स्वरूपण को बदलने के लिए set_locale का उपयोग किया है, लेकिन मैंने पहले LC_CTYPE
ध्वज का उपयोग नहीं किया है, और मैं वास्तव में यह नहीं समझता कि यह क्या करता है। मूल्य 'C'
का क्या अर्थ है? धन्यवाद!
संदर्भ: http://php.net/manual/en/function.setlocale.php (यह समझाता नहीं है कि 'सी' क्या करता है, आरटीएफएम के रूप में नहीं, केवल पूर्णता के लिए) –