# 1273 - अज्ञात टकराव: 'utf8mb4_unicode_520_ci'


157

मेरे पास अपने स्थानीय WAMP सर्वर पर एक वर्डप्रेस वेबसाइट है। लेकिन जब मैं इसका डेटाबेस लाइव सर्वर पर अपलोड करता हूं, मुझे त्रुटि मिलती है

#1273  Unknown collation: utf8mb4_unicode_520_ci

किसी भी सहायता की सराहना की जाएगी!


37
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql
नबील कादिमी

4
नीचे खोजने और बदलने के समाधान के एक समुद्र में, पहले @ शेरिलहोमन के जवाब को चेकआउट करना न भूलें - केवल mariadb / mysql 5.6 पर अपग्रेड करें ताकि आपका सर्वर इस टकराव का समर्थन करे।
चौकोरकांडी

1
वर्डप्रेस का क्या संस्करण? Make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrad
रिक जेम्स

यहां एक त्वरित मार्गदर्शिका भी है ( wpza.net/unknown-collation-utf8mb4_unicode_520_ci ) जो आपको बताती है कि आपने जो कुछ भी किया है, उसे सुनिश्चित करने के लिए आपको सभी 3 चरणों का वर्णन करना चाहिए।
WPZA

# 1273 के लिए यहाँ इस समाधान की जाँच करें - अज्ञात टकराव: 'utf8mb4_0900_ai_ci' freakyjolly.com/ ...
कोड जासूस

जवाबों:


217

आप इसे खोजकर हल कर सकते हैं

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

अपनी .sqlफ़ाइल में, और इसके साथ स्वैप करना

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

28
मैं सबा ( stackoverflow.com/a/44122258/168309 ) द्वारा जवाब देने की सलाह देता हूं क्योंकि यह utf8mb4 को बरकरार रखता है
अमीर

5
मेरे विचार में @Sabba Keynejad के नीचे का समाधान बेहतर है, क्योंकि यह mb4 रखता है, आपको पहले प्रयास करना चाहिए।
Maor Barazany

ध्यान दें, मुझे इसे SQL फ़ाइल में कई स्थानों पर प्रतिस्थापित करना था। इसके अलावा ऐसे स्थान भी थे, जहाँ मुझे stackoverflow.com/a/44122258/1436129 नीचे भी करना था ।
आबरीपवड

वास्तव में पाया गया कि इस उत्तर ने काम तब किया जब सबा द्वारा लिंक किया गया उत्तर नहीं था। संभवतः मेरे MySql इंस्टॉलेशन डिफॉल्ट्स के कारण। +1
कोडिंग

यह काम नहीं कर रहा है, अब यह त्रुटि दे रहा है: COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4' मैंने सबा के जवाब के अनुसार, इसे बदल दिया utf8mb4_unicode_520_ciहै utf8mb4_unicode_ciऔर यह काम कर रहा है।
हरितसिंह गोहिल

286

मेरा मानना ​​है कि यह त्रुटि इसलिए है क्योंकि स्थानीय सर्वर और लाइव सर्वर MySQL के विभिन्न संस्करणों को चला रहे हैं। इसे हल करने के लिए:

  1. अपने टेक्स्ट एडिटर में sql फ़ाइल खोलें
  2. खोजें और सभी के utf8mb4_unicode_520_ciसाथ बदलेंutf8mb4_unicode_ci
  3. सहेजें और एक नए mySql db पर अपलोड करें

उम्मीद है की वो मदद करदेयहां छवि विवरण दर्ज करें


4
बिलकुल नहीं!!! यह व्यापक रूप से प्रलेखित किया गया है कि utf8mb4_unicode_520_ciइसकी तुलना में बेहतर UTF-8 समर्थन है utf8mb4_unicode_ci! सॉस: mysql.rjweb.org/doc.php/charcoll#best_ults विजुअल क्लीयरेंस के साथ 520_ci साबित होता है, जो यहां बेहतर है: mysql.rjweb.org/utf8_cocodes.html
जॉन

5
@ जॉन, आपके द्वारा जुड़े लेख वास्तव में उस टिप्पणी का बचाव नहीं करते हैं। उनके "इस प्रकार" भी उनके आधार से ठीक से नहीं कहा जा सकता है। कुल मिलाकर पूरा लेख खराब तरीके से लिखा गया है, हालाँकि वहाँ कुछ अच्छी जानकारी है। 520 कोलाज अलग-अलग वज़न के साथ यूनिकोड Collation Algorithm (UCA - संस्करण 5.2.0) के नए संस्करण का उपयोग करता है, लेकिन यह कहना कि "इसमें बेहतर UTF-8 समर्थन है" एक खिंचाव से अधिक लगता है।
ग्रेमियो

मान लीजिए कि एक मानक निकाय (यूनिकोड) आमतौर पर एक पुराने संस्करण (4.0) की तुलना में प्रत्येक नए संस्करण (5.20) को "बेहतर" बनाएगा।
रिक जेम्स

यह सबसे अच्छा जवाब है।
निबी

मैं इस समाधान का सुझाव देता हूं क्योंकि यह सभी "utf8mb4_unicode_520_ci" आवृत्तियों को प्रतिस्थापित करता है। जबकि सावनी सैंडिप उत्तर कुछ छोड़ देता है।
राकेश

49

मेरे मामले में यह पता चला है कि मेरा
नया सर्वर चल रहा था MySQL 5.5,
पुराना सर्वर चल रहा था MySQL 5.6
इसलिए मुझे यह त्रुटि तब हुई जब .sqlमैं अपने पुराने सर्वर से निर्यात की गई फ़ाइल को आयात करने की कोशिश कर रहा था।

MySQL 5.5 समर्थन नहीं करता है utf8mb4_unicode_520_ci, लेकिन
MySQL 5.6 करता है।

MySQL 5.6नए सर्वर पर अद्यतन करने से त्रुटि टली!

यदि आप MySQL 5.5 को बनाए रखना चाहते हैं, तो आप:
- अपनी निर्यात की गई .sqlफ़ाइल की एक प्रति बना सकते हैं
- उदाहरणों को प्रतिस्थापित कर सकते हैं utf8mb4unicode520_ciऔर utf8mb4_unicode_520_ci
... utf8mb4_unicode_ci
अपनी अद्यतन .sqlफ़ाइल को आयात कर सकते हैं।


2
यदि आप अपने सर्वर पर पूर्ण नियंत्रण रखते हैं तो यह पूरी तरह से सबसे अच्छा तरीका है। नए सर्वर को अपग्रेड करें ताकि यह पुराने सर्वर से मेल खाए। यदि आपके पास अपने नए सर्वर स्थान को अपग्रेड करने की सुविधा नहीं है, तो खोज-प्रतिस्थापित विधि संभवतः ठीक होगी, लेकिन किसी भी मामले में जहां आप इसके बजाय सिर्फ इस अपग्रेड को कर सकते हैं, आपको करना चाहिए।
चौकोरचंडी

1
5.6 है जब 520 जोड़ा गया था।
रिक जेम्स

यह सही उत्तर होना चाहिए। अधिकांश अन्य समाधान हैक की तरह अधिक हैं। धन्यवाद @ शेरिलहोमन
sawyerrken

30

अपने पाठ संपादक में sql फ़ाइल खोलें;

1. खोज: utf8mb4_unicode_ci बदलें: utf8_general_ci (सभी बदलें)

2. खोज: utf8mb4_unicode_520_ci बदलें: utf8_general_ci (सभी को बदलें)

3. खोज: utf8mb4 बदलें: utf8 (सभी को बदलें)

सहेजें और अपलोड करें!


मुझे वास्तव में खुशी हुई कि मैंने आपका समाधान ढूंढ लिया, मुझे यह # 1273 दिनों के लिए त्रुटि मिल रही है और मैं अभी इसका समाधान नहीं ढूंढ सका हूं
फ्लाइंग-देव

Lifesaver। धन्यवाद!
रोबक्लबार्क



7

मैंने सिर्फ नोटपैड ++ में डंपएससीएल फ़ाइल खोली और स्ट्रिंग " utf8mb4_0900_ai_ci " को खोजने और बदलने के लिए इसे " utf8mb4_general-cici " से बदलने के लिए CTRL + H मारा । स्रोत लिंक https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/


6

ढूँढें और बदलें:

utf8mb4_unicode_520_ci

साथ में

utf8_general_ci

पूरे sql फ़ाइल में


3
generalऔर utf8दोनों कदम पीछे हैं।
रिक जेम्स

3

पार्टी के लिए देर से, लेकिन मामले में यह एक WORDPRESSस्थापना के साथ होता है :

#1273 - Unknown collation: 'utf8mb4_unicode_520_ci

Phpmyadmin में, अंडर export method> Format-specific options(कस्टम निर्यात)

करने के लिए सेट : MYSQL40

यदि आप अभी आयात करने का प्रयास करेंगे, तो आपको अब एक और त्रुटि संदेश मिल सकता है:

1064 - You have an error in your SQL syntax; .....

ऐसा इसलिए है क्योंकि पुराने TYPEविकल्प जो पर्यायवाची ENGINEथा MySQL 5.5 में हटा दिया गया था।

अपनी .sqlफ़ाइल खोलें , सभी उदाहरण खोजें और बदलें

से TYPE=करने के लिएENGINE=

अब आयात सुचारू रूप से होना चाहिए।


3

टक्कर त्रुटि # 1273 - अज्ञात टकराव: 'utf8mb4_unicode_520_ci' MySQL संस्करण के अंतर के कारण होता है जहां से आप निर्यात करते हैं और हमारा MySQL सर्वर जिसे आप आयात करते हैं। असल में, नए संस्करण के लिए वर्डप्रेस लाइब्रेरी यह देखने के लिए जांचती है कि आपकी साइट पर एसक्यूएल का कौन सा संस्करण चल रहा है। यदि यह MySQL संस्करण 5.6 या अधिक का उपयोग करता है, तो यह "utf8mb4_unicode_520_ci" नामक एक नए और बेहतर यूनिकोड Collation Algorithm (UCA) के उपयोग को मानता है। यह तब तक बहुत अच्छा है जब तक आप अपने वर्डप्रेस साइट को MySQL के नए 5.6 संस्करण से पुराने, MySQL के पूर्व 5.6 संस्करण में स्थानांतरित नहीं करते।

इसे हल करने के लिए आपको या तो अपनी एसक्यूएल एक्सपोर्ट फाइल को एडिट करना होगा और 'utf8mb4_unicode_520_ci' के सभी इंस्टेंस को 'utf8mb4_unicode_ci' में बदलते हुए सर्च और रिप्लेस करना होगा। या यदि आपके पास PHPMyAdmin है तो नीचे दिए गए चरणों का पालन करें:

  1. डेटाबेस के लिए निर्यात टैब पर क्लिक करें
  2. कस्टम रेडियो बटन पर क्लिक करें।
  3. स्वरूप-विशिष्ट विकल्पों के शीर्षक वाले अनुभाग पर जाएं और आउटपुट संगतता को अधिकतम करने के लिए डेटाबेस सिस्टम या पुराने MySQL सर्वर के लिए ड्रॉप-डाउन को बदलें: NONE से MYSQL40 तक।
  4. नीचे तक स्क्रॉल करें और GO पर क्लिक करें।

1

मेरे मामले में मैं इसे utf8_general_ciइस तरह से sed के साथ प्रतिस्थापित करता हूं :

sed -i 's/utf8_0900_ai_ci/utf8_general_ci/g' MY_DB.sql 
sed -i 's/utf8mb4_unicode_520_ci/utf8_general_ci/g' MY_DB.sql 

उसके बाद, मैं इसे बिना किसी समस्या के आयात कर सकता हूं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.