सभी इस तरीकों shoud काम करते हैं, कुछ विशेष को छोड़कर के लिए काम करेगा परिस्थितियों। उदाहरण के लिए, यदि आप PHP मशीन पर स्थानीय रूप से वेब सर्वर चला रहे हैं तो php < 5.3.1 के साथ, केवल 'मैन्युअल' $ db-> क्वेरी ("सेट नाम 'utf8'"); आपकी वास्तविक क्वेरी काम करने से पहले। MYSQL_ATTR_INIT_COMMAND का उपयोग करने का प्रयास करने वाली कोई भी अन्य विधि विफल हो जाएगी।
यहाँ मैं आज सीखा है, यह बहुत ही समस्या के साथ संघर्ष कर रहा है:
आप (, यानि कि मेरा विशेष रूप से मैं नहीं जानता) पीडीओ :: कुछ वातावरण में MYSQL_ATTR_INIT_COMMAND का उल्लेख नहीं कर सकते हैं।आपको स्पष्ट रूप से 1002 का उपयोग
ज़ेंड फ्रेमवर्क 1.11 (शायद 1.8 के बाद से पुष्टि करने के लिए) के साथ, आपको अपनी कॉन्फ़िगरेशन में डेटाबेस.params.driver_options.1002 = "सेट नाम utf8" सेट करने की आवश्यकता नहीं है। ini: resource.db.params.charset = "utf8" आपके लिए यह करने के लिए Zend_Db_Adapter_Pdo_Mysql के लिए पर्याप्त होगा।
विंडोज़ पर, आपको काम करने के लिए MYSQL_ATTR_INIT_COMMAND के लिए php> = 5.3.1 की आवश्यकता है।
यदि आप अपने PHP संस्करण को 5.3.1 या उच्चतम के साथ प्रतिस्थापित करते हैं (मैंने 5.3.3 का भी परीक्षण किया है), तो आपको यह सुनिश्चित करना होगा कि आप अपने php.ini में pdo_mysql.default_socket पर एक मान निर्धारित करें। डिफ़ॉल्ट खाली मान काम नहीं करेगा (पुष्टि करने के लिए: मैंने इसके बारे में कुछ पढ़ा लेकिन बिंदु 5 के बारे में जानने के बाद इसके बिना प्रयास करने के लिए परेशान नहीं किया)
आपको यह सुनिश्चित करने की भी आवश्यकता है कि आपके पास 127.0 है। अपने विंडोज़ में 0.1 स्थानीय होस्ट '\ system32 \ drivers \ etc \ मेजबान छिपा सिस्टम फ़ाइल
इसे ध्यान में सब के साथ
, आप से बचाने के लिए सक्षम होना चाहिए (कि php 5.3.0 के लिए एक समस्या नहीं था) अपने आप को गुगल करने का दिन और अपने कुछ बाल रखें! ;)
:-) मेरा google foo बेहतर है, पोस्ट करने से पहले यह पाया गया है, ऐसा कहना चाहिए था। मैं अपना प्रश्न परिशोधित करूंगा, मैं इसे config.ini में करने की कोशिश कर रहा हूं, न कि PHP कोड में। –
उस निरंतर में बचने वाले स्लैश के साथ क्या हो रहा है? – Kzqai
हां, सवाल पूछता है कि utf8 कैसे सेट करें। लेकिन मुझे लगता है कि अगर आप mysql का उपयोग कर रहे हैं तो आपको पूर्ण utf8 वर्ण सेट का समर्थन करने के लिए utf8mb4 का उपयोग करने पर विचार करना चाहिए। यदि आप utf8 का उपयोग करते हैं, तो आप अपने mysql को कॉन्फ़िगर करने के तरीके के आधार पर डेटा खो सकते हैं। – dminer