sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql
Nabil Kadimi
4
Dalam lautan solusi temukan dan ganti di bawah ini, jangan lupa untuk checkout dulu jawaban @ SherylHohman - cukup tingkatkan ke mariadb / mysql 5.6 sehingga server Anda mendukung pemeriksaan ini.
Solusi di bawah @ Sabba Keynejad lebih baik menurut saya, karena ia menyimpan MB4, Anda harus mencobanya terlebih dahulu.
Maor Barazany
Catatan, saya harus mengganti ini di beberapa tempat di File SQL. Juga ada tempat-tempat di mana saya harus melakukan stackoverflow.com/a/44122258/1436129 di bawah ini juga.
aubreypwd
Sebenarnya ditemukan bahwa jawaban ini berhasil ketika jawaban yang ditautkan oleh Sabba tidak. Mungkin karena standar instalasi MySql saya. +1
Lewat Pengodean
itu tidak berfungsi, sekarang memberikan kesalahan:, COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4' saya telah mengganti utf8mb4_unicode_520_cidengan utf8mb4_unicode_cidan itu berfungsi, sesuai jawaban Sabba.
Haritsinh Gohil
286
Saya percaya kesalahan ini disebabkan karena server lokal dan server hidup menjalankan versi MySQL yang berbeda. Untuk mengatasi ini:
Buka file sql di editor teks Anda
Temukan dan ganti semua utf8mb4_unicode_520_cidenganutf8mb4_unicode_ci
@ John, Artikel yang Anda tautkan tidak benar-benar membela komentar itu. "Jadi" mereka bahkan tidak dapat dinyatakan dengan baik dari premis mereka. Secara keseluruhan seluruh artikel ditulis dengan buruk, meskipun tampaknya ada beberapa informasi bagus di sana. 520 collation menggunakan versi yang lebih baru dari Unicode Collation Algorithm (UCA - versi 5.2.0) dengan bobot yang berbeda, tetapi untuk mengatakannya "memiliki dukungan UTF-8 yang jauh lebih baik" tampaknya lebih dari sekadar peregangan.
Gremio
Misalkan saja badan Standar (Unicode) biasanya akan membuat setiap versi yang lebih baru (5.20) "lebih baik" daripada versi yang lebih lama (4.0).
Rick James
Ini jawaban terbaik.
Niby
Saya menyarankan solusi ini karena ini menggantikan semua kejadian "utf8mb4_unicode_520_ci". Sedangkan jawaban Savani sandip menyisakan beberapa.
Rakesh
49
Dalam kasus saya ternyata
server baru saya sedang berjalan MySQL 5.5,
server lama sedang berjalan MySQL 5.6.
Jadi saya mendapatkan kesalahan ini ketika mencoba mengimpor .sqlfile yang saya ekspor dari server lama saya.
MySQL 5.5 tidak mendukung utf8mb4_unicode_520_ci, tetapi
MySQL 5.6 tidak.
Memperbarui ke MySQL 5.6pada server baru memecahkan kesalahan pemeriksaan!
Jika Anda ingin mempertahankan MySQL 5.5, Anda dapat:
- membuat salinan .sqlfile yang diekspor
- ganti instance utf8mb4unicode520_ciand utf8mb4_unicode_520_ci
... withutf8mb4_unicode_ci
- mengimpor .sqlfile yang diperbarui .
Ini benar-benar cara terbaik untuk melakukannya jika Anda memiliki kontrol penuh atas server Anda. Tingkatkan server baru sehingga cocok dengan server lama. Jika Anda tidak memiliki akses untuk memutakhirkan lokasi server baru Anda, metode temukan-ganti mungkin akan baik-baik saja, tetapi dalam hal apa pun Anda hanya dapat melakukan peningkatan ini, Anda harus melakukannya.
squarecandy
1
5.6 adalah saat 520 ditambahkan.
Rick James
Ini seharusnya jawaban yang benar. Sebagian besar solusi lain lebih seperti peretasan. Terima kasih @SherylHohman
Saya sangat senang saya menemukan solusi Anda untuk ini, saya telah mendapatkan kesalahan # 1273 ini selama berhari-hari dan saya tidak bisa menemukan solusi untuk ini
flying-dev
Penyelamat. Terima kasih!
robbclarke
15
hapus saja "520_" utf8mb4_unicode_520_ci→utf8mb4_unicode_ci
Getting error collation # 1273 - Collation tidak dikenal: 'utf8mb4_unicode_520_ci' disebabkan oleh perbedaan versi MySQL dari mana Anda mengekspor dan server MySQL kami yang Anda impor. Pada dasarnya, perpustakaan Wordpress untuk versi yang lebih baru memeriksa untuk melihat apa versi SQL situs Anda berjalan. Jika menggunakan MySQL versi 5.6 atau lebih, itu mengasumsikan penggunaan Unicode Collation Algorithm (UCA) baru dan lebih baik yang disebut "utf8mb4_unicode_520_ci". Ini bagus kecuali Anda akhirnya memindahkan situs WordPress Anda dari versi 5.6 MySQL yang lebih baru ke versi MySQL yang lebih lama, versi pra.
Untuk mengatasinya, Anda harus mengedit file ekspor SQL dan melakukan pencarian dan ganti, mengubah semua instance dari 'utf8mb4_unicode_520_ci' menjadi 'utf8mb4_unicode_ci'. Atau ikuti langkah-langkah di bawah ini jika Anda memiliki PHPMyAdmin:
Klik tab Ekspor untuk basis data
Klik tombol radio Kustom.
Buka bagian berjudul Opsi spesifik format dan ubah drop-down untuk sistem Database atau server MySQL lama untuk memaksimalkan kompatibilitas keluaran dengan: dari NONE ke MYSQL40.
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql
Jawaban:
Anda dapat menyelesaikan ini dengan menemukan
di
.sql
file Anda , dan bertukar dengansumber
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4'
saya telah menggantiutf8mb4_unicode_520_ci
denganutf8mb4_unicode_ci
dan itu berfungsi, sesuai jawaban Sabba.Saya percaya kesalahan ini disebabkan karena server lokal dan server hidup menjalankan versi MySQL yang berbeda. Untuk mengatasi ini:
utf8mb4_unicode_520_ci
denganutf8mb4_unicode_ci
Semoga itu bisa membantu
sumber
utf8mb4_unicode_520_ci
memiliki dukungan UTF-8 yang jauh lebih baik daripadautf8mb4_unicode_ci
! Sauce: mysql.rjweb.org/doc.php/charcoll#best_practice dengan klarifikasi visual yang membuktikan 520_ci lebih unggul di sini: mysql.rjweb.org/utf8_collations.htmlDalam kasus saya ternyata
server baru saya sedang berjalan
MySQL 5.5
,server lama sedang berjalan
MySQL 5.6
.Jadi saya mendapatkan kesalahan ini ketika mencoba mengimpor
.sql
file yang saya ekspor dari server lama saya.MySQL 5.5 tidak mendukung
utf8mb4_unicode_520_ci
, tetapiMySQL 5.6 tidak.
Memperbarui ke
MySQL 5.6
pada server baru memecahkan kesalahan pemeriksaan!Jika Anda ingin mempertahankan MySQL 5.5, Anda dapat:
- membuat salinan
.sql
file yang diekspor- ganti instance
utf8mb4unicode520_ci
andutf8mb4_unicode_520_ci
... with
utf8mb4_unicode_ci
- mengimpor
.sql
file yang diperbarui .sumber
Buka file sql di editor teks Anda;
1. Cari: utf8mb4_unicode_ci Ganti: utf8_general_ci (Ganti Semua)
2. Cari: utf8mb4_unicode_520_ci Ganti: utf8_general_ci (Ganti Semua)
3. Cari: utf8mb4 Ganti: utf8 (Ganti Semua)
Simpan dan unggah!
sumber
hapus saja "520_"
utf8mb4_unicode_520_ci
→utf8mb4_unicode_ci
sumber
ganti mudah
sumber
sed -i '' 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
Saya baru saja membuka file dump.sql di Notepad ++ dan tekan CTRL + H untuk menemukan dan mengganti string " utf8mb4_0900_ai_ci " dan menggantinya dengan " utf8mb4_general_ci ". Tautan sumber https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
sumber
Temukan dan ganti:
dengan
dalam seluruh file sql
sumber
general
danutf8
keduanya langkah mundur.Terlambat ke pesta, tetapi dalam hal ini terjadi dengan
WORDPRESS
instalasi:#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
Di phpmyadmin, di bawah
export method
>Format-specific options
(ekspor kustom)Mulai :
MYSQL40
Jika Anda akan mencoba mengimpor sekarang, Anda sekarang mungkin mendapatkan pesan kesalahan lain:
1064 - You have an error in your SQL syntax; .....
Itu karena
TYPE
opsi yang lebih lama yang identik denganENGINE
dihapus di MySQL 5.5.Buka
.sql
file Anda , cari dan ganti semua instancedari
TYPE=
keENGINE=
Sekarang impor harus berjalan dengan lancar.
sumber
Getting error collation # 1273 - Collation tidak dikenal: 'utf8mb4_unicode_520_ci' disebabkan oleh perbedaan versi MySQL dari mana Anda mengekspor dan server MySQL kami yang Anda impor. Pada dasarnya, perpustakaan Wordpress untuk versi yang lebih baru memeriksa untuk melihat apa versi SQL situs Anda berjalan. Jika menggunakan MySQL versi 5.6 atau lebih, itu mengasumsikan penggunaan Unicode Collation Algorithm (UCA) baru dan lebih baik yang disebut "utf8mb4_unicode_520_ci". Ini bagus kecuali Anda akhirnya memindahkan situs WordPress Anda dari versi 5.6 MySQL yang lebih baru ke versi MySQL yang lebih lama, versi pra.
Untuk mengatasinya, Anda harus mengedit file ekspor SQL dan melakukan pencarian dan ganti, mengubah semua instance dari 'utf8mb4_unicode_520_ci' menjadi 'utf8mb4_unicode_ci'. Atau ikuti langkah-langkah di bawah ini jika Anda memiliki PHPMyAdmin:
sumber
Dalam kasus saya, saya menggantinya
utf8_general_ci
dengan sed seperti ini:Setelah itu, saya bisa mengimpornya tanpa masalah.
sumber