Powodów takiego oddziaływania może być kilka: brak obsługi polskich znaków, nieprawidłowa strona kodowa, nieodpowiedni system porównań itp. Pokażę w jaki sposób można włączyć obsługę polskich znaków i jak ich używać oraz w jaki sposób wykonać kopię bazy danych z polskimi znakami...
Ustawienia phpMyAdmin
Dosyć wygodnie kopie bezpieczeństwa robi się za pomocą narzędzia phpMyAdmin.
Zanim jeszcze zaczniesz korzystać z bazy danych sprawdź jakie ustawienia ma Twoja baza danych. Jak tylko zalogujesz się do phpMyAdmin, na stronie głównej pownieneś zauważyć taką informację: "System kodowania znaków dla MySQL: ISO 8859-2 Central European (latin2)". Oczywiście jest to przykład.
Wartość systemu kodowania możesz tutaj zmienić w rubryce Language/Język - jeżeli kodowanie jest inne niż te, którego używasz...
Jeżeli utworzyłeś bazę danych kliknij na nią. Następnie kliknij Operacje. Wybierz metodę porównywania napisów na odpowiednią (latin2_general_ci to odpowiednik ISO-8859-2). Inne odpowiedniki możesz znaleźć w pomocy phpMyAdmin.
Jeżeli utworzyłeś metodę porównywania napisów (np. na ISO-8859-2), wszystkie tabele w Twojej bazie powinny mieć takie kodowanie. Jeżeli wpisujesz dane do tabeli za pomocą PMA to zastosujesz kodowanie tutaj obowiązujące, a nie te którego używasz...
Polecenia, które służą do w/w czynności pokazuje phpMyAdmin więc nie będę się o nich rozpisywał...
Backup po polsku
Bardzo zalecane jest regularne robienie kopii bezpieczeństwa bazy danych. Wiąże się to z dużym udogodnieniem w sytuacjach kryzysowych.
Robienie kopii bazy danych
Aby zrobić kopię bazy danych należy kliknąć na nazwę bazy danych oraz zakładkę Eksport. Zaznacz tabele, które chcesz skopiować (jeśli wszystkie przytrzymaj CTRL i klikaj w nazwy). Następnie ustal w jaki sposób ma być przywracana baza (UPDATE, INSERT, REPLACE). Jeżeli wszystko już ustawione możesz kliknąć Wykonaj kopię.
Zanim jeszcze to wykonasz kliknij pole Zapisz jako plik oraz wybierz metodę kompresji, która najbardziej Ci odpowiada...
Przywracanie kopii
Do przywracania uprzednio zrobionej kopii bazy danych służy zakładka Importuj. Zanim zaimportujesz plik sprawdź jakie kodowanie ma Twoja baza. Niewykluczone, że przez pomyłke zrobiłeś backup w kodowaniu np. utf-8, a chciałeś iso-8859-2. Możesz je przekonwertować jakimś programem, np. edytorem www lub programem takim, jak "Gżegżółka". Sprawdź też, czy odpowiednie kodowanie jest ustawione w bazie...
Sprawdź, czy tworzone tabele będą posiadać odpowiednie kodowanie: odnajdź w pliku z bazą ciąg DEFAULT CHARSET - jeżeli chcesz możesz zmienić je w ten sposób na inne, pamiętając przy tym, że tekst też musi zostać skonwertowany...
Jeśli wszystko przebiegło jak należy, powinieneś ujżeć tekst z polskimi znakami zarówno w PMA jak i na Twojej stronie internetowej...
Te same standardy - inne nazwy
MySQL może potrzebować określenia kodowania inną nazwą niż powszechnie stosowana. Przykładem jest standard ISO-8859-2. W MySQL zastąpioną tą nazwę wyrazem latin2 oraz latin2_general_ci. Jest to nadal ten sam system kodowania znaków.
Dzieje się tak, ponieważ nazwa ISO-8859-2 zawiera myślniki, a są one zarezerwowane...
Więcej na temat innego nazewnictwa standardów kodowania przeczytasz na stronie głównej Twojego phpMyAdmin-a - klikając w link "Zestawy znaków i metody porównywania napisów".
Strona kodowa Twojej witryny
Aby uzyskać polskie znaki na Twojej stronie również musisz określić kodowanie. W nagłówku strony powinna widnieć deklaracja strony kodowej, która informuje przeglądarke, jakiego kodu powinna użyć.
Deklaracja strony kodowej ISO-8859-2
Ustawiamy kodowanie dla strony w znaczniku meta:
<meta http-equiv="content-type" content="text/html;
charset=iso-8859-2" />
Jeżeli używasz XHTML możesz dodatkowo ustawić nagłówek na samej górze. Jeżeli tworzysz dynamiczne strony WWW za pomocą PHP, nagłówek ten (dla XHTML) powinien być wpisany w następujący sposób...
<?php
echo '<?xml version="1.0" encoding="iso-8859-2"?>' . "rn";
?>
Jeżeli nadal masz problem z kodowaniem
Jeżeli masz problem z realizacją powyższych instrukcji - zgłoś to administratorowi Twojego serwera. Być może coś nie tak jest z jego konfiguracją. Najpierw jednak sprawdź czy wszystko zostało wykonane poprawnie, być może coś zostało przeoczone...
Dowiedz się jak najwięcej i zgłoś problem administratorowi podając jak najwięcej szczegółów...