मैं एक mysql 5.1 सर्वर में एक utf8 charset mysql तालिकाओं का उपयोग कर रहा हूं, जो तालिका में utf8mb4 एन्कोडिंग का समर्थन नहीं करता है। 4-बाइट एन्कोडेड utf8 वर्णों को "","","","","","唧",""
जैसे डालने पर। तालिका पॉपअप त्रुटि होगी या निम्न ग्रंथों को छोड़ देगा।क्या php 4-बाइट एन्कोडेड utf8 वर्णों का पता लगा सकता है?
मैं PHP में 4-बाइट एन्कोडेड utf8 वर्णों को प्रोग्रामेटिक रूप से कैसे पहचान सकता हूं और उन्हें प्रतिस्थापित कर सकता हूं?
सुंदर सरल: पात्रों द्वारा एक स्ट्रिंग और यदि 'strlen ($ वर्ण) जाँच == 4' (ऐसा करने के लिए कई तरह से) अलग हो गए। निश्चित नहीं है कि यह वर्णों का पता लगाने का वास्तव में सही तरीका है MySQL संभाल नहीं सकता है, हालांकि कोड बिंदु से जाकर अधिक सटीक हो सकता है। – deceze
क्या आपने [multibyte एक्सटेंशन] (http://php.net/mbstring) की जांच की है? साथ ही, हमेशा [टिप्पणियां पढ़ें] सुनिश्चित करें (http://dk1.php.net/manual/en/function.mb-internal-encoding.php#66568)। –
@deceze यह एक दृष्टिकोण है। अगर मैं अन्य सुरुचिपूर्ण तरीकों से नहीं हूं तो मैं इसके लिए जाऊंगा। –