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 .sql
pliku 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_ci
ze utf8mb4_unicode_ci
i 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_ci
zutf8mb4_unicode_ci
Mam nadzieję, że to pomoże
utf8mb4_unicode_520_ci
ma 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 .sql
pliku, 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.6
na nowym serwerze rozwiązała problem sortowania!
Jeśli chcesz zachować MySQL 5.5, możesz:
- wykonać kopię wyeksportowanego .sql
pliku
- zamienić instancje utf8mb4unicode520_ci
i utf8mb4_unicode_520_ci
... na utf8mb4_unicode_ci
- zaimportować zaktualizowany .sql
plik.
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
general
i utf8
oba są krokami wstecz.
Spóźniony na imprezę, ale w przypadku WORDPRESS
instalacji:
#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 TYPE
opcja, która była synonimem, ENGINE
została usunięta w MySQL 5.5.
Otwórz .sql
plik, 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