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

जावा सर्वर पेज - MySQL में डालने पर संयोजन?

इससे प्रश्न चिह्न आते हैं:

  • ग्राहक के पास एक मान्य वर्ण (अच्छा) है, और
  • SET NAMES क्लाइंट के पास (अच्छा) एन्कोडिंग से सहमत है, लेकिन
  • लक्षित कॉलम का CHARACTER SET इच्छित वर्ण (खराब) शामिल नहीं है।

उदाहरण:

  • latin1 केवल पश्चिमी यूरोपीय पात्रों को संभालता है; एक पूर्वी यूरोपीय चरित्र या किसी एशियाई चरित्र को डालने की कोशिश करना फिट नहीं होगा।
  • latin2 और cp1250 चेक को संभाल सकता है, इसलिए उनके बीच रूपांतरण अधिकतर ठीक हैं, लेकिन उनमें से किसी एक और latin1 के बीच नहीं हैं
  • utf8mb4 utf8 . का सुपरसेट है .utf8 वर्ण को utf8mb4 में डालना ठीक है, लेकिन इसके विपरीत परिणाम '?' होगा कुछ मामलों में।

वे वर्ण जिन्हें '?' में परिवर्तित किया गया था तालिका से पुनर्प्राप्त नहीं किया जा सकता है।

भविष्य के INSERTs को कैसे ठीक करें ?

  • utf8mb4 का उपयोग करना टेबल कॉलम पर शायद सभी मामलों में काम करता है।
  • अन्यथा, कुछ CHARACTER SET चुनें टेबल कॉलम के लिए जो क्लाइंट डेटा से उचित रूप से मेल खाता है।

केवल कुछ वर्णों के ? . होने का कारण (š?ž?? . में ) ऐसा इसलिए है क्योंकि šž latin1 में मौजूद हैं लेकिन अन्य नहीं हैं।

निचला रेखा:CHARACTER SET बदलें तालिका परिभाषा में।



  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. सर्वर-साइड स्क्रिप्टिंग को रोकना, XSS

  3. एकाधिक श्रेणी पर एक लेख

  4. मैसकल वार्निंग कोड 1592 असुरक्षित स्टेटमेंट बाइनरी लॉग को स्टेटमेंट फॉर्मेट का उपयोग करके लिखा गया है

  5. नई पंक्तियों को सम्मिलित किए बिना ज्ञात कुंजियों के साथ कई पंक्तियों को अपडेट करें यदि कोई भी कुंजियाँ नहीं पाई जाती हैं