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
Comments