के बिना गलत स्ट्रिंग मान मैं अपने डेटाबेस में किसी फ़ील्ड में कुछ टेक्स्ट डालने की कोशिश कर रहा हूं और मुझे इमोजिस के साथ समस्या है। क्या होता है कि यदि मैं अपना कनेक्शन यूआरएल jdbc:mysql://localhost:3306/MyDatabase?characterEncoding=UTF-8
पर सेट नहीं करता हूं तो सर्वर इमोजी को ठीक से स्टोर करेगा, लेकिन गैर-लैटिन वर्णों को प्रश्न चिह्न के रूप में भी स्टोर करेगा।"स्ट्रिंग एन्कोडिंग = यूटीएफ -8"
अगर मैं उस तरह मेरे कनेक्शन url सेट तो सर्वर देता है, इमोजी और इच्छा उत्पादन त्रुटि नहीं लगेगा:
Incorrect string value: '\xF0\x9F\x98\xB1\xF0\x9F...' for column 'fullTweet' at row 1
मैं अपने स्थानीय सर्वर पर UTF8 संगतता के लिए सभी आवश्यक कदम किया है :
- मैं
my.ini
- क्वेरी
show variables like 'character_set_server'
रिटर्नकरने के लिए लाइनcharacter-set-server=utf8mb4
जोड़ा 0 - मैं क्वेरी
CREATE DATABASE twitter DEFAULT CHARACTER SET utf8mb4
- साथ और अपनी तालिका और मेरी टेबल के क्षेत्रों के सभी डिफ़ॉल्ट रूप से मेरी डाटाबेस बनाने का उपयोग कर रहे
utf8mb4_general_ci
(के रूप में मैंphpmyadmin
में देख सकते हैं)
क्या याद आ रही है? मुझे यकीन है कि मैंने सभी आवश्यक कदम उठाए हैं और मैं अभी भी इसे काम नहीं कर सकता, या तो यह केवल लैटिन वर्णों को स्टोर करेगा या यह इमोजी स्टोर नहीं करेगा।
मेरा एक पिछले प्रश्न से अतिरिक्त जानकारी:
मैं मैन्युअल रूप से डेटाबेस में इमोजी प्रवेश कर सकते हैं और वे वास्तव में दिखाने के रूप में वे डिबगर में दिखाई दे (बक्से के रूप में)। मैं इस क्वेरी चलाने:
INSERT INTO `tweets`(`id`, `createdAt`, `screenName`, `fullTweet`, `editedTweet`) VALUES (450,"1994-12-19","john",_utf8mb4 x'F09F98B1',_utf8mb4 x'F09F98B1')
और इस तालिका में पंक्ति दिखता है की तरह है:
मुझे ऐसा कोई फ़ंक्शन नहीं मिल रहा है, उन्हें पहचाना नहीं जा रहा है। –