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

जेएसएफ इनपुट की चीनी कैरेक्टर एन्कोडिंग

बशर्ते कि आप वास्तव में फेसलेट का उपयोग कर रहे हैं (जो डिफ़ॉल्ट रूप से यूटीएफ -8 का उपयोग करता है) और प्राइमफेस एजेक्स का उपयोग नहीं कर रहे हैं (जो गड़बड़ अनुरोध बॉडी एन्कोडिंग के लिए जाना जाता है ), आपकी समस्या के 2 कारण हैं:

  1. MySQL JDBC ड्राइवर कैरेक्टर एन्कोडिंग को UTF-8 पर सेट नहीं किया गया है। इससे डीबी में विकृत वर्ण हो गए।

  2. एक्लिप्स कंसोल कैरेक्टर एन्कोडिंग को UTF-8 पर सेट नहीं किया गया है। इससे System.out . में विकृत वर्ण हो गए ।

समाधान हैं:

  1. जोड़ें useUnicode=yes का उपयोग करें और characterEncoding=UTF-8 JDBC कनेक्शन के लिए पैरामीटर। आप इसे JDBC URL में क्वेरी स्ट्रिंग के रूप में निर्दिष्ट कर सकते हैं

    jdbc:mysql://hostname:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
    

    या JDBC डेटा स्रोत में कनेक्शन गुणों के रूप में, ठीक उसी तरह जैसे आपने उपयोगकर्ता नाम, पासवर्ड, आदि निर्दिष्ट किया था।

  2. एक्लिप्स को विंडो> प्राथमिकताएं> सामान्य> कार्यक्षेत्र> टेक्स्ट फ़ाइल एन्कोडिंग द्वारा कंसोल एन्कोडिंग के रूप में यूटीएफ -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 अल्पविराम से अलग सूची के साथ काम कर रहा है - जंक्शन तालिका

  2. हिम तेंदुआ + रूबी 1.9.1 + माईएसक्यूएल जेम =बड़ी समस्या

  3. MySQL में कॉलम मान में स्ट्रिंग को कैसे प्रीपेड करें?

  4. MySQL में एकाधिक अपडेट

  5. PHP मेल में गतिशील HTML तालिका