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

MySQL डेटाबेस में गैर-अंग्रेज़ी पाठ सम्मिलित करते समय JSP एन्कोडिंग

यह तभी होगा जब दोनों पक्ष प्रत्येक पक्ष में वर्ण एन्कोडिंग अंतरों के बारे में पूरी तरह से अवगत हों। कोई भी वर्ण जो दूसरी तरफ उपयोग किए गए वर्ण एन्कोडिंग द्वारा कवर नहीं किया गया है, उसे एक प्रश्न चिह्न ? से बदल दिया जाएगा। . नहीं तो आपने Mojibake देखा होता ।

इस विशेष मामले में, वे पक्ष जावा पक्ष और डेटाबेस पक्ष हैं, जिसमें JDBC ड्राइवर मध्यस्थ के रूप में है। इसे ठीक करने के लिए, आपको JDBC ड्राइवर को यह बताना होगा कि वे वर्ण किस एन्कोडिंग में हैं। आप useUnicode=true&characterEncoding=UTF-8 सेट करके ऐसा कर सकते हैं। JDBC कनेक्शन URL में पैरामीटर।

jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8

फिर, आप क्लाइंट से सर्वर पर पैरामीटर कैसे भेज रहे हैं, इस पर निर्भर करते हुए, आपको संभवतः अनुरोध एन्कोडिंग को ठीक करने की भी आवश्यकता है। इस तथ्य को देखते हुए कि जब आप request.setCharacterEncoding("UTF-8") हटाते हैं तो आप Mojibake देख रहे हैं , आप पोस्ट का उपयोग कर रहे हैं। तो वह हिस्सा ठीक है।

उस स्थिति के लिए, यदि आप पैरामीटर भेजने के लिए GET का उपयोग कर रहे थे, तो आपको सर्वर साइड में URI एन्कोडिंग को कॉन्फ़िगर करना होगा। यह स्पष्ट नहीं है कि आप किस सर्वर का उपयोग कर रहे हैं, लेकिन उदाहरण के लिए टॉमकैट के मामले में, यह <Connector> को संपादित करने का मामला है। /conf/server.xml में एंट्री इस प्रकार है:

<Connector ... URIEncoding="UTF-8">

यह भी देखें:



  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 में HAVING और WHERE क्लॉज के बीच 'OR' का उपयोग करना?

  2. MySQL केवल IN () समकक्ष खंड

  3. क्या मैं डिफ़ॉल्ट पेजिनेशन को ओवरराइड किए बिना कस्टम क्वेरी को पेजिनेट कर सकता हूं?

  4. innodb_lock_wait_timeout समयबाह्य बढ़ाएँ

  5. Mysql में समानांतर लेनदेन