eRIZ's weblog

PHP, webdesign, Linux, Windows i inne, bo nie samym chlebem człowiek żyje

phpMyAdmin – przenoszenie bazy i polskie znaki

Dosyć często spotykanym problemem jest złe wyświetlanie polskich „krzaczków” po przeniesieniu bazy na inny serwer. W rzeczywistości, nie jest to żaden błąd oprogramowania, tylko niewłaściwie dobranych ustawień.

Zacznijmy od tego, w jakich formatach mogą byc zapisywane polskie znaki – są to ISO 8859-2 i coraz popularniejszy UTF-8.

phpMyAdmin udostępnia dosyć wygodne opcje służące do importu/eksportu danych do/z bazy. Jednak dosyć często zdarza się sytuacja, że ciężko jest przenieść bazę zachowując jednocześnie nie naruszone diakrytyki. Owszem, można jeszcze zamienić na encję, ale problem należy rozwiązać, a nie obejść.

Korzystając ze świeżych doświadczeń, opiszę krok po kroku, w jaki sposób przenieść zawartość bazy i zachować diakrytyki.

Zacznijmy na początek od przygotowania pliku wejściowego. Możemy go wykonać poprzez polecenie mysqldump bądź phpMyAdmina. Mało który hosting udostępnia możliwość korzystania z poleceń powłoki, więc najpewniej będziemy skazani na phpMyAdmina.

W panelu startowym źródłowego PMA zmieniamy zestaw kodowania znaków do połączenia na utf8_unicode_ci. Potem przechodzimy do interesującej nas bazy i dokonujemy eksportu danych korzystając z kodowania utf8 dla pliku wynikowego. Reszta opcji, według potrzeb. ;]

Zapisujemy tak wygenerowany plik.

Przechodzimy teraz do PMA połączonego z serwerem docelowym. Tworzymy nową bazę/czyścimy istniejącą (albo usuwamy istniejące tabele, które mogłyby się zduplikować) i teraz klikamy na zakładkę Operacje. Zmień kodowanie w polu zestaw znaków na utf8_polish_ci. Zapisujemy zmiany.

Teraz importujemy do bazy utworzony wcześniej plik z danymi. Wszystkie polskie znaki powinny być już prawidłowo wyświetlane zarówno w phpMyAdminie jak i na stronie korzystającej z danych.

5 komentarzy

dopisz swój :: trackback :: RSS z komentarzami

RSS z komentarzami :: trackback

Skomentuj

Możesz używać znaczników XHTML. Dozwolone są następujące tagi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

Wszystkie komentarze przechodzą przez moderację oraz filtry antyspamowe. Nie zostanie opublikowany komentarz, jeśli:

  • Jego treść obraża kogokolwiek.
  • W treści znajdują się wulgaryzmy i słownictwo ogólnie uznane za nieprzyzwoite.
  • Mam wątpliwości co do autora wpisu (Wszelkie anonimy są kasowane - niezależnie od zawartości - wpisz prawdziwy e-mail. Jeśli usunąłem, Twoim zdaniem, komentarz niesłusznie - daj znać). Zdarza się, iż sprawdzam kim jest komentujący.
  • Zawiera jakąkolwiek formę reklamy.

Warning: Undefined variable $user_ID in /usr/home/er1zpl/domains/eriz.pcinside.pl/public_html/weblog/wp-content/themes/inBlueDiary/comments.php on line 112

Szufladka