Domyślnie bazy danych MySQL mają zestaw znaków latin1 i sortowanie. Jednak czasami może być konieczne przechowywanie znaków UTF8 w bazie danych MySQL. Oto jak zmienić zestaw znaków z latin1 na UTF8.
Jak przekonwertować bazę danych MySQL z latin1 na UTF8
Oto kroki, aby zmienić zestaw znaków z latin1 na UTF dla bazy danych MySQL.
1. Określ aktualny zestaw znaków
Zaloguj się do narzędzia wiersza poleceń MySQL. Zobaczysz monit o hasło. Wprowadź swoje hasło, aby zalogować się do bazy danych MySQL.
$ sudo mysql -uroot -p
Uruchom następującą komendę, aby określić obecny zestaw znaków bazy danych. Zastąp poniżej database_name nazwą swojej bazy danych
mysql> SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "database_name"; +----------------------------+ | default_character_set_name | +----------------------------+ | latin1 | +----------------------------+
Jeśli chcesz określić zestaw znaków dla określonej tabeli bazy danych, uruchom następującą komendę. Zastąp database_name i table_name odpowiednio nazwami bazy danych i tabel.
mysql> SELECT CCSA.character_set_name FROM information_schema.TABLES
T, information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
CCSA WHERE CCSA.collation_name = T.table_collation AND T.table_schema = "database_name" AND T.table_name = "table_name";
Przeczytaj bonus:Jak zwiększyć maksymalną liczbę połączeń w MySQL
2. Zmień zestaw znaków z latin1 na UTF8
Uruchom następujące polecenie, aby zmienić zestaw znaków bazy danych MySQL z latin1 na UTF8. Zastąp database_name nazwą swojej bazy danych
Dla MySQL> 5.5
mysql> ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Dla MySQL <=5.5
mysql>ALTER DATABASE database_name CHARACTER
SET utf8 COLLATE utf8_unicode_ci;
Przeczytaj bonus:Jak oceniać partycje w MySQL
Podobnie, oto polecenie zmiany zestawu znaków tabeli MySQL z latin1 na UTF8. Zastąp table_name nazwą tabeli bazy danych.
Dla MySQL> 5.5
mysql> ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Dla MySQL <=5.5
mysql>ALTER TABLE table_name CONVERT TO CHARACTER
SET utf8 COLLATE utf8_unicode_ci;
Mamy nadzieję, że powyższy samouczek pomoże ci zmienić zestaw znaków bazy danych na utf8mb4 (UTF-8).