Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पर्ल और MySQL में utf8 एन्कोडिंग

यदि प्रत्येक ä/å/ö को आउटपुट में दो बाइट्स द्वारा दर्शाया जा रहा है, तो यह भी संभव है कि आप वर्णों को डबल-एन्कोडिंग कर रहे हों। (यह देखते हुए कि प्रश्न पहले से ही आपको $dbh->{'mysql_enable_utf8'} = 1; करते हुए दिखाता है , मुझे संदेह है कि यह सबसे अधिक संभावित मामला है।) एक और संभावना है, यह देखते हुए कि आप इसे वेब पेज पर प्रदर्शित कर रहे हैं, यह पृष्ठ यह निर्दिष्ट नहीं कर रहा है कि वर्णसेट यूटीएफ -8 है <head> और ब्राउज़र अपने द्वारा उपयोग किए जाने वाले वर्ण एन्कोडिंग पर गलत अनुमान लगा सकता है।

यह सुनिश्चित करने के लिए अपने वेबएप ढांचे, टेम्पलेटिंग सिस्टम इत्यादि पर एक नजदीकी नज़र डालें कि मान केवल एक बार एन्कोड किए जा रहे हैं जब वे डेटाबेस से पुनर्प्राप्त किए जाते हैं और जब वे उपयोगकर्ता के ब्राउज़र तक पहुंचते हैं। कई फ्रेमवर्क/टेम्पलेट इंजन (जैसे डांसर और टीटी का संयोजन जिनका मैं सामान्य रूप से उपयोग करता हूं) आउटपुट एन्कोडिंग को स्वचालित रूप से संभाल लेंगे यदि आप उन्हें सही तरीके से कॉन्फ़िगर करते हैं, जिसका अर्थ है कि डेटा डबल-एन्कोडेड होगा यदि यह आउटपुट होने से पहले स्पष्ट रूप से एन्कोड किया गया है।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL त्रुटि:1045 (28000):उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए प्रवेश निषेध

  2. MongoDB MySQL से लगातार जुड़ने और प्रश्नों के लिए कैश के रूप में

  3. रेल 4 केस_सेंसिटिव के बिना ईमेल विशिष्टता को मान्य कर रहा है

  4. उपयोगकर्ताओं की तालिका में हमारे पास एक आईडी कॉलम क्यों होना चाहिए?

  5. शो टेबल के साथ मेल खाने वाली टेबल का नाम