phpMyAdmin
 sql >> Baza danych >  >> Database Tools >> phpMyAdmin

Dlaczego tabela CHARSET jest ustawiona na utf8mb4 a COLLATION na utf8mb4_unicode_520_ci

W przeszłości istniał tylko utf8; w przyszłości utf8mb4 będzie domyślnym zestawem znaków. teraz utf8mb4 to domyślny zestaw znaków.

W przeszłości _general_ci był domyślnym sortowaniem; następnie _unicode_ci (Unicode 4.0) był lepszy, potem _unicode_520_ci (Unicode 5.20). W przyszłości (MySQL 8.0) domyślnym będzie _0900_ci_ai (Unicode 9.0).

Tymczasem droga jest pełna dziur generowanych przez błędy MySQL z przeszłości. A projektanci WP jeżdżą dużym czołgiem, który nie zauważa dziur.

MySQL 5.6 był wielką dziurą, która pochłonęła wielu użytkowników WP z powodu 767 limitu indeksów wraz z indeksami WP na nadmiernie długim VARCHAR(255) oraz możliwość korzystania z utf8mb4 . Już dobrze minęłaś, mając 5.7.17. (Twój przyszły ruch na 8.0 będzie mniej wyboisty.)

Oznacza to, że nowo utworzone bazy danych/tabele/kolumny w wersji 5.7.7+ nie powinny mieć problemu z 767, ale rzeczy przeniesione ze starszych wersji (5.5.3+) mogą mieć problemy, zwłaszcza jeśli coś powoduje zmianę na utf8mb4.

Co robić? Prawdopodobnie zabraknie mi miejsca, próbując wyjaśnić wszystkie opcje. Podaj więc historię danych, ścieżkę aktualizacji (jeśli istnieje), bieżące ustawienia, ROW_FORMAT tabel, CHARACTER SET i COLLATION kolumn, wyjście SHOW VARIABLES LIKE 'char%';

Gdzie powinieneś być? W przypadku wersji 5.7.7+ utf8mb4 i utf8mb4_unicode_520_ci wszędzie tam, gdzie jest to praktyczne. Ten zestaw znaków daje Ci Emoji i cały chiński (utf8 nie). To zestawienie jest najlepsze z dostępnych, chociaż może być trudno zauważyć, gdzie ma to znaczenie.

Uwaga:pierwsza część nazwy sortowania jest jedynym zestawem znaków, z którym działa. To jest utf8_unicode_ci nie działa z utf8mb4 .




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. xampp localhost phpmyadmin Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:TAK)

  2. information_schema pokazuje nieznany status tabeli:TABLE_TYPE mysql phpmyadmin

  3. Jak mogę trwale usunąć Xampp na Mac OS?

  4. Część zawartości bazy danych zniknęła po ponownej instalacji WAMP

  5. Nie można rozpocząć sesji bez błędów w phpMyAdmin