Mam witrynę WordPress na moim lokalnym serwerze WAMP . Ale kiedy przesyłam bazę danych na serwer live, pojawia się błąd
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Każda pomoc będzie mile widziana!
Mam witrynę WordPress na moim lokalnym serwerze WAMP . Ale kiedy przesyłam bazę danych na serwer live, pojawia się błąd
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
Każda pomoc będzie mile widziana!
Odpowiedzi:
Możesz rozwiązać ten problem, znajdując
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
w .sqlpliku i zamieniając go z
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'utf8mb4' , i zastąpiły utf8mb4_unicode_520_cize utf8mb4_unicode_cii to działa, jak na odpowiedź Sabba użytkownika.
Uważam, że ten błąd jest spowodowany tym, że na serwerze lokalnym i serwerze rzeczywistym działają różne wersje MySQL. Aby rozwiązać ten problem:
utf8mb4_unicode_520_cizutf8mb4_unicode_ciMam nadzieję, że to pomoże
utf8mb4_unicode_520_cima znacznie lepszą obsługę UTF-8 niż utf8mb4_unicode_ci! Sos: mysql.rjweb.org/doc.php/charcoll#best_practice z wizualnym wyjaśnieniem udowadniającym, że 520_ci jest lepszy tutaj: mysql.rjweb.org/utf8_collations.html
W moim przypadku okazało się, że mój
nowy serwer działał MySQL 5.5,
stary MySQL 5.6.
Tak więc pojawił się ten błąd podczas próby zaimportowania .sqlpliku, który wyeksportowałem ze starego serwera.
MySQL 5.5 nie obsługuje utf8mb4_unicode_520_ci, ale
MySQL 5.6 tak.
Aktualizacja do MySQL 5.6na nowym serwerze rozwiązała problem sortowania!
Jeśli chcesz zachować MySQL 5.5, możesz:
- wykonać kopię wyeksportowanego .sqlpliku
- zamienić instancje utf8mb4unicode520_cii utf8mb4_unicode_520_ci
... na utf8mb4_unicode_ci
- zaimportować zaktualizowany .sqlplik.
Otwórz plik sql w swoim edytorze tekstu;
1. Wyszukaj: utf8mb4_unicode_ci Zastąp: utf8_general_ci (Zastąp wszystko)
2. Wyszukaj: utf8mb4_unicode_520_ci Zastąp: utf8_general_ci (Zastąp wszystko)
3. Wyszukaj: utf8mb4 Zamień: utf8 (Zamień wszystko)
Zapisz i prześlij!
po prostu usuń „520_”
utf8mb4_unicode_520_ci→utf8mb4_unicode_ci
Właśnie otworzyłem plik dump.sql w Notepad ++ i wcisnąłem CTRL + H, aby znaleźć i zamienić ciąg „ utf8mb4_0900_ai_ci ” i zastąpiłem go „ utf8mb4_general_ci ”. Link do źródła https://www.freakyjolly.com/resolved-when-i-faced-1273-unknown-collation-utf8mb4_0900_ai_ci-error/
Znajdź i zamień:
utf8mb4_unicode_520_ci
z
utf8_general_ci
w całym pliku sql
generali utf8oba są krokami wstecz.
Spóźniony na imprezę, ale w przypadku WORDPRESSinstalacji:
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
W phpmyadmin, pod export method> Format-specific options(eksport niestandardowy)
Ustawić : MYSQL40
Jeśli spróbujesz teraz zaimportować, możesz teraz otrzymać kolejny komunikat o błędzie:
1064 - You have an error in your SQL syntax; .....
Dzieje się tak, ponieważ starsza TYPEopcja, która była synonimem, ENGINEzostała usunięta w MySQL 5.5.
Otwórz .sqlplik, wyszukaj i zamień wszystkie instancje
od TYPE=doENGINE=
Teraz import powinien przebiegać bezproblemowo.
Uzyskiwanie błędu sortowania # 1273 - Nieznane sortowanie: „utf8mb4_unicode_520_ci” jest spowodowane różnicą między wersją MySQL, z której eksportujesz, a naszym serwerem MySQL, do którego importujesz. Zasadniczo biblioteka Wordpress dla nowszych wersji sprawdza, na jakiej wersji SQL działa Twoja witryna. Jeśli korzysta z MySQL w wersji 5.6 lub nowszej, zakłada użycie nowego i ulepszonego algorytmu sortowania Unicode (UCA) o nazwie „utf8mb4_unicode_520_ci”. To jest świetne, chyba że w końcu przeniesiesz swoją witrynę WordPress z nowszej wersji MySQL 5.6 do starszej wersji MySQL, starszej niż 5.6.
Aby rozwiązać ten problem, będziesz musiał albo edytować plik eksportu SQL, wyszukiwać i zamieniać, zmieniając wszystkie wystąpienia „utf8mb4_unicode_520_ci” na „utf8mb4_unicode_ci”. Lub wykonaj poniższe czynności, jeśli masz PHPMyAdmin:
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql