Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Konwertowanie tabeli MySQL z nieprawidłowo zakodowanymi danymi do UTF-8

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)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Całkowicie usuń MySQL Ubuntu 14.04 LTS

  2. Funkcje daty i czasu MySQL nie istnieją

  3. Błąd migracji rzemieślnika php:podano nazwę węzła lub nazwę serwera lub nie znamy

  4. Jak zwiększyć wartość w MySQL za pomocą PHP mysqli

  5. Połącz bazę danych MySQL z Androida