Konwertowanie kodowania latin1 do UTF-8 w MySQL

Czasem bywa problem z kodowaniem gdy przenosimy baze zapomocą mysqldump.

Poniżej szybki opis z przykładami jak rozwiazać problem gdy baza pierworna jest w latin1 a chcemy miec utf-8.

W poniższym przykładzie serwer mysql to localhost, user root i haslo password. Wszystko wykonywane jest w bash-u

Najpierw zrzucamy bazę do pliku.

Teraz można sprawdzić kodowanie pliku.

Jeżeli plik jest w UTF8 otrzymamy odpowiedz jak poniżej:

Jeżeli zachowało się kodowanie latin1 musimy przekonwertować plik:

W dumpie bedzie jeszcze info zawarte o latin1, zmienimy to szybko perlem

Teraz już pozostaje nam tylko import bazy danych. Jednak warto przekonfigurawać serwer i klienta mysql aby poprawnie wszystko było w utf-8.

Edytujemy plik /etc/mysql/my.cnf i w odpowiednich sekcjach dodajemy:

W wyniku tego po wejściu do mysql i wywołaniu

powinniśmy widzieć:

Teraz juz pozostaje nam tylko utworzenie nowej bazy danych oraz import pliku.

I to wszystko :). Mam nadzieje że komuś sie przyda


Linux, WebDev, Windows, WordPress

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *