Konwertowanie bazy danych na UTF-8
- Piotr Bartczak
- 23 lis 2008
- 1 minut(y) czytania
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