Poniższa metoda wygląda naprawdę obiecująco i jeszcze lepiej, piękna w swojej prostocie. Pomysł polega na tym, że mysqldumpujesz całą bazę danych jako latin1, a następnie zaimportujesz ją ponownie zakodowaną jako utf-8.
Eksportuj:
Importuj:
Nie biorę kredytu za to rozwiązanie, jest całkowicie z Blog Garetha Price'a . Udało się to wszystkim, którzy do tej pory zostawili mu komentarz:„Wow stary, właśnie uratowałeś mi życie. Nie spędziłem nad tym 2 godzin, ale 2 dni” zwrócił moją uwagę.
Aktualizacja nr 1: Wygląda na to, że Gareth był nie pierwszy by to odkryć.
Aktualizacja nr 2: Właśnie tego wypróbowałem i działało to pięknie dla mojej bazy danych UTF8 przechowywanej jako latin1. Upewnij się tylko, że ustawiłeś domyślny zestaw znaków w swojej bazie danych na utf8 przed importowanie, inaczej skończysz ze zwykłymi znakami zapytania w miejscu znaków specjalnych. Oczywiście może to mieć wiele innych konsekwencji, więc najpierw przetestuj jak diabli.
A jeśli masz jakieś tabele, które nie są ustawione na domyślny schemat:
(ten sam pomysł, jeśli masz ustawienia zestawu znaków specyficzne dla kolumny, będziesz musiał zrobić ALTER TABLE [tabela] ZMIEŃ KOLUMNĘ [ustawienia] bez określania ZESTAWU ZNAKÓW, więc wraca do domyślnej tabeli)