2013-09-29 11 views
8

चरित्र सेट के साथ mysql कमांड लाइन से डेटाबेस बनाने पर, मुझे निम्न त्रुटि मिलती है: Unknown character set: utf8_unicode_ci। लेकिन, जब मैं phpmyadmin में एक ही एसक्यूएल चलाता हूं, तो यह कोई त्रुटि के साथ ठीक काम करता है और मैं समझ नहीं पा रहा हूं क्यों?त्रुटि: अज्ञात वर्ण सेट: 'utf8_unicode_ci'

एसक्यूएल:

CREATE DATABASE sx CHARACTER SET =utf8 COLLATE = utf8_unicode_ci; 

mysql आदेश पंक्ति:

mysql -u root -ppassword -h localhost --default-character-set=utf8 
+1

'mysql> बनाएँ डेटाबेस sx वर्ण सेट = UTF8 मुक़ाबला = utf8_unicode_ci; क्वेरी ठीक है, 1 पंक्ति प्रभावित (5.5 9 सेकेंड) 'आप किस MySQL संस्करण का उपयोग करते हैं? – zerkms

+0

@zerkms: संस्करण है: 5.5.29 –

उत्तर

9

आप त्रुटि Unknown character set: 'utf8_unicode_ci' हो रही है के बाद से, आप utf8_unicode_ci को निर्दिष्ट किया जाना चाहिए (जो एक मिलान है) के रूप में चरित्र सेट। अपना आदेश जांचें और पुनः प्रयास करें।

+0

नहीं, एसक्यूएल सिंटैक्स सही है, यह काम करता है जब मैं पूरी तरह से आदेश चलाता हूं लेकिन जब मैं एक स्क्रिप्ट में कई एसक्यूएल कमांड चलाता हूं तो मुझे यह त्रुटि मिलती है –

+1

@ हेनरिक सैंडिन: यदि आपको यह मिलता है त्रुटि जब आप "* स्क्रिप्ट में कई एसक्यूएल कमांड चलाते हैं *", आप कैसे सुनिश्चित कर सकते हैं कि यह आदेश है जिसके कारण त्रुटि हुई है? – eggyal

+1

आह, कुछ डिबगिंग के बाद, मुझे पता चला कि यह दूषित डेटाबेस कमांड नहीं था जो अपराधी था, मैं ysql के त्रुटि कथन से मूर्ख हो गया: "डेटाबेस एसएक्स बनाएं" के पास, –

6

अपने DB_CHARSET utf8_general_ciUTF8 के लिए परिवर्तित करें

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