Aby zmienić kodowanie bazy danych MySQL, możesz użyć skryptu ALTER DATABASE. Składnia tego polecenia wygląda następująco:
ALTER DATABASE nazwa_bazy
CHARACTER SET kodowanie [COLLATE collation];
gdzie:
nazwa_bazy to nazwa bazy danych, którą chcesz zmienić,
kodowanie to nowe kodowanie, na jakie chcesz zmienić bazę danych,
collation to opcjonalne dopasowanie, którego chcesz użyć dla nowego kodowania.
Przykład:
ALTER DATABASE moja_baza
CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Jednak zmiana kodowania na istniejącej bazie danych może być skomplikowana, dlatego przed zmianami sugeruje się by zrobić kopię zapasową. Zwróć uwagę, że zmiana kodowania na istniejącej bazie danych może spowodować utratę danych lub błędy związane z znakami specjalnymi, dlatego ważne jest by przeprowadzić tę operację ostrożnie.
Można również skorzystać z narzędzia takiego jak mysqldump które pozwala na tworzenie kopii zapasowej bazy danych, a potem importowanie jej z nowym kodowaniem.
mysqldump -u [username] -p [database_name] > backup.sql
mysql -u [username] -p --default-character-set=utf8mb4 [database_name] < backup.sql
Pamiętaj o uzupełnieniu parametrów zgodnie z danymi Twojego serwera, zwłaszcza ustawieniem prawidłowego kodowania po importowaniu
Polecamy tez zapoznać się z dokumentacją oraz innymi przykładami zmiany kodowania w bazie danych MySQL, by mieć pewność, że operacja przebiegnie pomyślnie.