यह निश्चित नहीं है कि यह पहली बार कब हुआ था।डेटाबेस पाठ में अजीब अक्षर: Ã, Ã, ¢, â, €,
मेरे पास एक नई ड्रॉप-शिपिंग संबद्ध वेबसाइट है, और थोक व्यापारी से उत्पाद सूची की निर्यात की गई प्रति प्राप्त करें। मैं इसे Prestashop 1.4.4 में प्रारूपित और आयात करता हूं।
वेबसाइट के सामने के छोर उत्पाद पाठ अंदर अजीब पात्रों के संयोजन में शामिल हैं: एक, एक, ¢, एक, आदि वे की तरह आम पात्रों के स्थान पर दिखाई, -: आदि
ये अक्षर डेटाबेस टेबल के लगभग 40% में मौजूद हैं, न केवल उत्पाद विशिष्ट सारणी जैसे ps_product_lang।
Another website thread कहता है यह वही समस्या तब होती है जब डेटाबेस कनेक्शन स्ट्रिंग गलत वर्ण एन्कोडिंग प्रकार का उपयोग करती है।
/config/setting.inc में, कोई वर्ण एन्कोडिंग स्ट्रिंग नहीं है, केवल MySQL इंजन, जो InnoDB पर सेट है, जो मैं PHPMyAdmin में जो देखता हूं उससे मेल खाता है।
मैंने ps_product_lang निर्यात किया, इन वर्णों के सभी उदाहरणों को सही वर्णों से बदल दिया, सीएसवी फ़ाइल को यूटीएफ -8 प्रारूप में सहेजा, और PHPMyAdmin का उपयोग करके उन्हें पुनः आयात किया, यूटीएफ -8 को भाषा के रूप में निर्दिष्ट किया।
हालांकि, PHPMyAdmin में एक नई खोज करने के बाद, अब मेरे साथ शुरू होने से ps_product_lang में इन बुरे पात्रों के कई उदाहरण हैं।
यदि समस्या डेटाबेस कनेक्शन स्ट्रिंग में सही भाषा विशेषता निर्दिष्ट करने के समान सरल है, तो मैं इसे कहां/कैसे सेट करूं, और क्या करना है?
संयोग से, मैं चल PHPMyAdmin में इस आदेश this thread में उल्लेख कोशिश की, लेकिन समस्या बनी हुई है:
SET NAMES utf8
अद्यतन: PHPMyAdmin का कहना है:
MySQL चारसेट: UTF-8 यूनिकोड (utf8)
यह वही चरित्र सेट है जिसे मैंने अंतिम आयात फ़ाइल में उपयोग किया था, जिसके कारण अधिक चरित्र भ्रष्टाचार हुए। यूटीएफ -8 आयात प्रक्रिया के दौरान आयात फ़ाइल के अक्षर के रूप में निर्दिष्ट किया गया था।
लोग हैं सही मायने में रहने वाले untetheredÃÆ'Ã, ¢ ࢠएक ¢ â,¬Å¡Ã,¬Ã¯à ¢ â:
UPDATE2
यहां एक नमूना है , ÃÆ'à ¢ एक, ऑनलाइन फिल्में खरीदने और किराए पर लेने, सॉफ्टवेयर डाउनलोड करने, और वेब पर फ़ाइलों को साझा और संग्रहीत करना।
Update3
मैं वर्ण सेट प्रदर्शित करने के लिए PHPMyAdmin में एक SQL आदेश भागा:
- character_set_client UTF8
- character_set_connection UTF8
- character_set_database latin1
- character_set_filesystem बाइनरी
- character_set_results UTF8
- character_set_server latin1
- character_set_system UTF8
तो, शायद मेरी डेटाबेस की जरूरत है UTF-8 में परिवर्तित करने के लिए किया जा (या नष्ट कर दिया और निर्मित)। यदि MySQL सर्वर लैटिन 1 है तो क्या इससे कोई समस्या हो सकती है?
क्या MySQL सामग्री को यूटीएफ 8 के रूप में प्रस्तुत करने का अनुवाद संभाल सकता है लेकिन इसे लैटिन 1 के रूप में संग्रहीत कर सकता है? मुझे नहीं लगता कि यह कर सकता है, क्योंकि यूटीएफ 8 लैटिन 1 का सुपरसेट है। मेरे वेब होस्टिंग समर्थन ने 48 घंटों में जवाब नहीं दिया है। उनके लिए बहुत मुश्किल हो सकता है।
@AurelioDeRosa नमूना ऊपर जोड़ा गया। – Steve
मुझे पश्चाताप का बहुत कुछ पता नहीं है लेकिन ऐसा लगता है कि यह एक अच्छा चार एन्कोडिंग नहीं करता है। वैसे भी मुझे लगता है कि अन्य व्यक्तियों में एक ही समस्या है: http://www.prestashop.com/forums/topic/34545-problem-with-encoding-characters/ –
क्या यह केवल एक एफई समस्या नहीं है? phpMyAdmin गलत एन्कोडिंग में सामान प्रदर्शित करने के लिए सेट है और क्लाइंट UTF-8 का उपयोग करने के लिए सेट नहीं है? एक मेटा टैग में होना चाहिए। – MarianP