# 1273 - noma'lum harmanlama: 'utf8mb4_unicode_520_ci'

Mahalliy WAMP serverida WordPress veb-saytim mavjud. Lekin men o'z ma'lumotlar bazasini serverga ko'chirsam, xatoga yo'l qo'yaman

#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’

Har qanday yordamni qadrlash mumkin!

66
Rahmat @NabilKadimi
qo'shib qo'ydi muallif PC., manba
Quyidagi topish-va-almashtirish echimlari dengizida avval @ SherylHohmanning javobini unutmang - mariadb/mysql 5.6 ga yangilang, shuning uchun sizning serveringiz bu harmanlamani qo'llab-quvvatlaydi.
qo'shib qo'ydi muallif squarecandy, manba
sed-ni/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g 'file.sql
qo'shib qo'ydi muallif Nabil Kadimi, manba

7 javoblar

Menimcha, bu xato mahalliy server va jonli server MySQL-ning turli xil versiyalarida ishlayapti. Buni hal qilish uchun:

  1. Open the sql file in your text editor
  2. Find and replace all utf8mb4_unicode_520_ci with utf8mb4_unicode_ci
  3. Save and upload to a fresh mySql db

Hope that helpsenter image description here

151
qo'shib qo'ydi
HELL NO! utf8mb4_unicode_520_ci utf8mb4_unicode_ci dan yanada yaxshiroq UTF-8 qo'llab-quvvatlashiga ega ekanligi keng tarqalgan. Sous: mysql.rjweb.org/doc.php/charcoll#best_practice bilan 520_keni tasdiqlovchi ingl. tushuntirishlar bu erda ustundir: mysql.rjweb.org/utf8_collations.html
qo'shib qo'ydi muallif John, manba
Keling, standartlarning birlashtiruvchi organi (Unicode) odatda eski versiyadan (4.0) ko'ra yangi versiyani (5.20) "yaxshiroq" qiladi.
qo'shib qo'ydi muallif Rick James, manba
bu javob hozir menga yordam berdi. katta rahmat
qo'shib qo'ydi muallif tiagoperes, manba
@John, siz bog'langan maqolalar aslida bu fikrni himoya qilmaydi. Ularning "Shunday qilib" hatto o'zlarining oldindan aytib berolmasligi ham mumkin. Umuman olganda, barcha maqola juda kam yozib qo'yilgan, garchi u erda yaxshi ma'lumotlar mavjud bo'lsa. 520 harmanlama, Unicode Harmanlama Algoritması'nın (UCA - versiya 5.2.0) yangi versiyasini turli xil og'irliklari bilan foydalanadi, lekin "yanada yaxshi UTF-8 qo'llab-quvvatlashi bor», degan ma'noni anglatadi.
qo'shib qo'ydi muallif Gremio, manba
Men uchun ishlaydi! Oddiy - agar etarli ma'lumotlar bazasi bo'lsa. Rahmat!
qo'shib qo'ydi muallif Daniel Murphy, manba

Buni topish orqali uni hal qilishingiz mumkin

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

.sql faylida saqlang va uni almashtiring

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
72
qo'shib qo'ydi
Aslida Shabba bilan bog'liq bo'lgan javob berilmasa, bu javob berdi. Ehtimol, MySQL-ning o'rnatilish parametrlari tufayli. +1
qo'shib qo'ydi muallif Gone Coding, manba
Shabba ( stackoverflow.com/a/44122258/168309 ) ning javobini tavsiya qilaman, chunki u utf8mb4
qo'shib qo'ydi muallif Amir, manba
@Sabba Keynejad tagidagi hal, mening fikrimcha, mb4ni ushlab turibdi, buni avval sinab ko'ring.
qo'shib qo'ydi muallif Maor Barazany, manba
Ahamiyat bering, buni SQL faylidagi bir nechta joylarda almashtirish kerak edi. Bundan tashqari, menda stackoverflow.com/a/44122258/1436129 qilish kerak bo'lgan joylar ham bor edi.
qo'shib qo'ydi muallif aubreypwd, manba

Mening holimda mening mening o'g'lim paydo bo'ladi yangi server MySQL 5.5 , < eski server MySQL 5.6 ishlayotgan edi Men eski serverdan eksport qilingan .sql faylini import qilishga urinayotganda bu xatoni oldim.

MySQL 5.5 kodi utf8mb4_unicode_520_ci ni qo'llab-quvvatlamaydi, biroq
MySQL 5.6 qiladi.

Yangi serverdagi MySQL 5.6 versiyasiga xatolikni tuzatish xato!

Agar siz MySQL 5.5ni saqlamoqchi bo'lsangiz, quyidagilarni qilishingiz mumkin:
- eksport qilingan .sql faylining nusxasini olish - utf8mb4unicode520_ci va utf8mb4_unicode_520_ci kodlari o'rnini o'zgartirish ... utf8mb4_unicode_ci bilan - yangilangan .sql faylini import qiling.

28
qo'shib qo'ydi
Bu erda aniq javob.
qo'shib qo'ydi muallif Kaji, manba
5.6, 520 qo'shilganda.
qo'shib qo'ydi muallif Rick James, manba
Agar serveringiz ustidan to'la nazorat o'rnatilgan bo'lsa, buni amalga oshirishning eng yaxshi yo'li bu. Yangi serverni eski serverga mos keladigan tarzda yangilang. Agar siz yangi server manzilingizni yangilash uchun kirish imkoningiz bo'lmasa, topish-almashtirish usuli yaxshi bo'lishi ehtimoldan holi emas, ammo buning o'rniga, siz uni yangilashingiz mumkin.
qo'shib qo'ydi muallif squarecandy, manba

just remove "520_"
utf8mb4_unicode_520_ciutf8mb4_unicode_ci

5
qo'shib qo'ydi

SQL-faylini matn muharriridan oching;

1. Search: utf8mb4_unicode_ci Replace: utf8_general_ci (Replace All)

2. Search: utf8mb4_unicode_520_ci Replace: utf8_general_ci (Replace All)

3. Search: utf8mb4 Replace: utf8 (Replace All)

Saqlash va yuklash!

5
qo'shib qo'ydi

toping va o'zgartiring:

utf8mb4_unicode_520_ci

bilan

utf8_general_ci

butun sql faylida

3
qo'shib qo'ydi
general va utf8 ikkala qadam orqaga.
qo'shib qo'ydi muallif Rick James, manba

oson o'zgartirish

sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
1
qo'shib qo'ydi