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

PHP/PDO/MySQL:MEDIUMBLOB में डालने से खराब डेटा संग्रहीत होता है

मुझे नहीं लगता कि यह एक बग होना चाहिए। मैं कल्पना कर सकता हूं कि जब भी क्लाइंट सर्वर से बात करता है और कहता है कि निम्न आदेश यूटीएफ -8 में है और सर्वर को लैटिन -1 में इसकी आवश्यकता है, तो क्वेरी को पूर्व पार्सिंग और निष्पादन को फिर से एन्कोड किया जा सकता है। तो यह डेटा के परिवहन के लिए एक एन्कोडिंग समस्या है। चूंकि पूरी क्वेरी पूर्व पार्सिंग इस री-एन्कोडिंग से प्रभावित होगी, बीएलओबी कॉलम के लिए बाइनरी डेटा भी बदल जाएगा।

मैसकल मैनुअल से:

या वापस रास्ते में:स्टोर से लैटिन 1 डेटा यूटीएफ -8 में परिवर्तित हो जाएगा क्योंकि क्लाइंट ने सर्वर से कहा था कि वह परिवहन के लिए यूटीएफ -8 पसंद करता है।

आपके द्वारा नामित पीडीओ के लिए पहचानकर्ता पूरी तरह से कुछ अलग दिखता है:

मैं कोई MySQL विशेषज्ञ नहीं हूं लेकिन मैं इसे इस तरह समझाऊंगा। क्लाइंट और सर्वर को बातचीत करने की आवश्यकता है कि वे किस वर्णसेट का उपयोग कर रहे हैं और मुझे लगता है कि वे ऐसा किसी कारण से करते हैं।




  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. MySQL कैरेक्टर एन्कोडिंग समस्या को कैसे हल करें?

  3. डेबियन 8 . पर MySQL कैसे स्थापित करें

  4. mysql में उच्चारण संवेदनशील और केस असंवेदनशील utf8 संयोजन होना संभव है?

  5. एक विदेशी कुंजी बाधा विफल हो जाती है