Mam taki problem - zmieniam serwer i staram się przenieść bazę danych. Niestety w miejscu polskich znaków pojawiają się "?". Parametry obu baz ustawiam na zgodne:
Cytat
System porównań dla połączenia MySQL: utf8_general_ci
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
Metoda porównywania napisów: latin1_swedish_ci (tabele które chcę przenieść mają taką metodę porównywania napisów)
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
Metoda porównywania napisów: latin1_swedish_ci (tabele które chcę przenieść mają taką metodę porównywania napisów)
W nowej ustawiam te same parametry i przy importowaniu tworzą się polskie krzaki.
Wersje obu phpmyadmin i mysql:
Cytat
Stara:
Wersja klienta MySQL: 5.0.91
Informacja o wersji PMA: 3.3.10.1
Nowa:
Wersja klienta MySQL: 5.0.51a
Informacja o wersji PMA: 3.1.3.2
Wersja klienta MySQL: 5.0.91
Informacja o wersji PMA: 3.3.10.1
Nowa:
Wersja klienta MySQL: 5.0.51a
Informacja o wersji PMA: 3.1.3.2
Na początku pliku .sql w którym jest baza gotowa do importowania znajdują się takie polecenia:
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */;
Każda tabela tworzona jest przy użyciu:
DEFAULT CHARSET=latin1
Ale mimo to ciągle pojawiają się ? zamiast polskich znaków. Co dziwne dzieje się tak nawet jeśli tworzę nowy wpis do bazy, przez formularz na stronie. Po zapisaniu też wszystkie polskie znaki zamieniają się na znaki zapytania. Wszystkie kodowania na stronie są ustawione poprawnie.
Jak przeglądam zawartość nowej bazy danych to nie odbiega ona w żadnym stopniu od starej - nie ma w niej znaków zapytania, tylko np. zamiast "ł" jest "³", dokładnie tak jak w starej bazie.
Macie jakiś pomysł co zrobić, aby na stronie wyświetlały się poprawnie polskie znaki ? Jutro kończy mi się abonament na stary serwer, muszę przerzucić stronę na nowy i nie wiem co zrobić z tym kodowaniem. Zastanawia mnie czemu nawet nowo wrzucane teksty do bazy nie mają poprawnego kodowania. Jaka może być tego przyczyna ? A w razie czego - w jaki sposób najlepiej przekonwertować bazę np. do UTF-8 ?
Mam nadzieję, że podałem wszystkie potrzebne informacje, które mogą pomóc w rozwiązaniu problemu. Proszę o pomoc - z góry dziękuję.
[UPDATE]
Pomogło wstawienie na początku strony:
Jednak czy jest możliwość, aby znaki wyświetlały się poprawnie bez konieczności wklejania tej komendy - tak jak miało to miejsce w starej bazie danych ?