यह 8.0 के बाद से हुए परिवर्तनों के बारे में बात करता है एक बिंदु जो आपके लिए सूचीबद्ध किया गया है वह यह है:
नतीजतन, नई वस्तुओं के लिए डिफ़ॉल्ट वर्ण सेट और संयोजन पहले से भिन्न होता है जब तक कि एक स्पष्ट वर्ण सेट और संयोजन निर्दिष्ट नहीं किया जाता है। इसमें डेटाबेस और ऑब्जेक्ट शामिल हैं, जैसे टेबल, व्यू और स्टोर किए गए प्रोग्राम।
पिछले डिफ़ॉल्ट को संरक्षित करने का एक तरीका है my.cnf
में इन पंक्तियों के साथ सर्वर प्रारंभ करना फ़ाइल:
[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci
एक अन्य विकल्प, चूंकि आप docker चला रहे हैं, इन कॉन्फ़िगरेशन विकल्पों को docker run कमांड के कमांड लाइन तर्क के रूप में निर्दिष्ट करना है। उदाहरण के लिए:
docker run -d \
--network my-net \
-h mysqldb \
--name mysqldb \
-p 3306:3306 \
-e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=admin \
-e "MYSQL_PASSWORD=admin" \
mysql:8 --character-set-server=latin1 --collation-server=latin1_swedish_ci
क्लाइंट पर, यदि आप परिवर्तन करना चाहते हैं - उम्मीद है कि ये पर्याप्त होंगे:
कनेक्टर/जे के साथ 4-बाइट UTF-8 वर्ण सेट का उपयोग करने के लिए, MySQL सर्वर को character_set_server=utf8mb4
के साथ कॉन्फ़िगर करें , और characterEncoding
. छोड़ दें कनेक्टर/जे कनेक्शन स्ट्रिंग से बाहर।
फिर कनेक्टर/जे UTF-8
का स्वतः पता लगा लेगा सेटिंग
आशा है कि यह मदद करेगा!