2015-06-05 4 views
5

मेरा डेटाबेस, टेबल, फ़ील्ड सभी utf8mb4 का उपयोग कर रहे हैं। मैं कुछ क्षेत्रों में अच्छी तरह से इमोजी प्रतीकों को स्टोर कर सकता हूं। अब मैं इस तरह के रूप क्वेरी करने के लिए प्रयास करें:माईएसक्ल इमोजी स्ट्रिंग्स के लिए गलत परिणाम देता है

चुनें * user कहां नाम = ''

कमाल है, परिणाम अलग तरह के रूप में फ़ील्ड नाम के साथ रिकॉर्ड कर रहे हैं 'से'

लग रहा है mysql द्वारा इमोजी तार से मेल खाता है की तरह उनकी लंबाई लेकिन सामग्री नहीं।

उस समस्या को ठीक करने के लिए कोई विचार? बहुत धन्यवाद।

+0

यह आपकी मदद कर सकता है: http://stackoverflow.com/questions/7814293/how-to-insert-utf-8-mb4-characteremoji-in-ios5-in-mysql –

+0

बहुत तेज़ उत्तर के लिए धन्यवाद स्टुअर्ट। मेरी समस्या काफी अलग है। मैं इमोजी प्रतीकों के साथ सभी तारों को बहुत अच्छी तरह से स्टोर, ब्राउज़ और निकाल सकता हूं। पूछताछ करते समय उन्हें मिलान करने की केवल समस्या। – Tony

+0

यहां एक ही स्थिति है। – z33

उत्तर

0

आपकी तालिका पर कॉलेशन ऑर्डर क्या है? चूंकि आप utf8mb4 का उपयोग कर रहे हैं, यह utf8mb4_unicode_ci होना चाहिए। और कुछ और आपको जो समस्या दिखाई दे रही है उसे पाने की संभावना है - इससे भी बदतर आप कई रिकॉर्ड वापस आ सकते हैं।

मिलान आदेश उपयोग करने के लिए:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
+0

मुझे ओपी के समान समस्या है, और मेरे पास 'collation_connection', 'collation_database', और' collation_server' 'utf8mb4_unicode_ci' पर सेट है। 'चयन' प्रश्न वास्तव में केवल इमोजी की संख्या से मेल खाते हैं, न कि वास्तविक सामग्री (जो अजीब है, कम से कम कहने के लिए)। – ACJ

0

आज़माएं:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; 
1

बस मेरी मेज पर इस आदेश किया था: वर्ण सेट utf8mb4 को

ALTER TABLE TableName CONVERT COLLATE utf8mb4_bin;

यह सब कुछ है। परिणाम तब सही है।

संबंधित मुद्दे