publikacja: 23 listopada 2008, autor: , komentarzy 16 https://wpninja.pl/artykuly/konwertowanie-bazy-danych-na-utf-8/

Konwertowanie bazy danych na UTF-8

Po przeniesieniu WordPressa na inny serwer lub wgraniu kopii bezpieczeństwa na obecny spotkać nas może niemiła niespodzianka spowodowana błędnym kodowaniem bazy danych – zamiast polskich liter ze znakami diakrytycznymi widnieć będą dziwne krzaczki (np. Åº, ż, Ä™, “, Ä… itp.).

Poniżej dwa sposoby rozwiązania tego problemu.

Ręczna robótka metodą „znajdź i zamień”

W teorii przedstawia się ona następująco:

  • wykonaj zrzut bazy danych,
  • otwórz otrzymany plik .sql edytorem tekstowym (np. PSPadem) z kodowaniem UTF-8,
  • przejrzyj pobieżnie plik a gdy natrafisz na krzak wywnioskuj z kontekstu jaką literę zastępuje i następnie skorzystać z funkcji „zamień…”,
  • powtórzy czynność z poprzedniego punktu dla wszystkich napotkanych krzaków.

"Seek and destroy!"

Metoda ta, mimo iż całkiem skuteczna, jest straszliwie czasochłonna. Robiłem to wczoraj w nocy (przy okazji przenoszenia strony „Orientuj się” na nowy serwer) przez 2 godziny i polecam tylko w ostateczności :-).

Automatyczna konwersja dzięki wtyczce

Wtyczka bbWP2UTF8 w parę sekund wykona całą czarną robotę. Wystarczy aktywować ją na WordPressie z krzaczkami i podążać za wskazówkami:

  • Step 1: Convert columns to binary counterparts for checked tables
  • Step 2: Convert tables to UTF8 character set
  • Step 3: Convert database default character set to UTF8
  • Step 4: Convert columns back from binary to original types

Panel do zarządzania wtyczką

Jedyną rzeczą z jaką wtyczka sobie nie radzi to nazwy kategorii – te trzeba już ręcznie zmienić:

Brak wsparcia dla nazw kategorii

Efekt końcowy

Przed:

Przed konwersją

Po:

Po konwersji

Dodaj własny komentarz