Wiem, że tematów takich było już dużo. Przejrzałem wszystkie (albo prawie wszystkie), ale pomimo różnych prób moich, jak również admina serwera, nie udało mi się do tej pory zlikwidować znaków zapytania wyświetlających się zamiast polskich liter. Kończy mi się okres próbny, na który wykupiłem serwer i chciałbym ostatecznie sprawdzić, czy da się z tym coś zrobić, czy po prostu tutaj to nie będzie działać.
Po kolei, na starym serwerze były takie ustawienia:
System kodowania znaków dla MySQL: UTF-8 Unicode (utf8)
System porównań dla połączenia MySQL: utf8_unicode_ci
Metoda porównywania napisów dla tabel: latin1_swedish_ci
Bazę eksportowałem z poziomu phpmyadmin (chciałem spróbować innym programem, ale dowiedziałem się od admina tego serwera, że nie jest możliwa obsługa tej bazy programami zewnętrznymi). Tak samo importowałem na nowy serwer próbując różnych ustawień przy imporcie. Ostatecznie zostawiłem utf8, ale to też nic nie daje.
Obecnie ustawienia na nowym serwerze są analogiczne, jak na starym.
Jednocześnie próbowałem zmienić metodę porównywania napisów z latin1 na latin2_general_ci, ale to również nic nie dało. Zarówno jak robiłem to na starym serwerze i potem importowałem, jak i jeśli próbowałem już wszystko robić na nowym. Zastanawia mnie też, czy wystarczy zmiana dla całej tabeli (poprzez operacje), czy trzeba dodatkowo zmieniać osobno dla każdego pola tabeli? (poprzez jego zaznaczenie i opcję - Zmień) Próbowałem jednak tak i tak (chociaż drugą metodą jedynie dla wybranych tabel, bo jest z tym bardzo dużo roboty), ale również nic się nie zmieniło.
Linia dotycząca kodowania znaków w index.php jest następująca:
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
Pytałem już o to wcześniej i podobno jest prawidłowa. Podobnie jeśli chodzi o templatkę sprawdzałem wcześniej wszystko i ustawienia są prawidłowe.
Polskie napisy nie pojawiają się zarówno w starych artykułach, jak i nowo dodanych już na nowym serwerze.
Pisałem w tej sprawie do admina nowego serwera. Listów było kilka, ale najważniejsze instrukcję przedstawię poniżej:
Kodowanie moze Pan zmienic poleceniem iconv pod Linuxem. Niestety, nie
wiem czym mozna je zmienic pod Windowsem. Najprosciej byloby gdyby
mial Pan mozliwosc na starym serwerze wykonac zrzut z takim kodowaniem
jakie maja tabele tzn. jezeli tabele maja kodowanie latin1 a dane byly
trzymane np. w utf8 to zrobienie zrzutu z kodowaniem latin1 spowoduje,
ze bedzie mial Pan dane w utf8. Jezeli wykonuje Pan zrzut z innym
kodowaniem to dane sa blednie przekodowywane z kodowania tabel do
kodowania klient i wychodza takie krzaczki. Prosze moze poprosic
administratora starego serwera aby wykonal Panu poprawny zrzut. W
innym wypadku trzeba bedzie wykonac operacje odwrotna tzn. jezeli
zrzut byl wykonany z kodowaniem np. utf8 to przekodowanie z utf8 do
kodowania tabel np. latin1 powinno dac dane w takim kodowaniu jak byly
w bazie (zakladam, ze w bazie mial Pan poprawne kodowanie). Nie zawsze
takie przekonwertowanie jest mozliwe i wtedy jedynym ratunkiem jest
wykonanie poprawnego zrzutu.
Co w takim razie powinienem zrobić? Próbowałem już chyba wszystkie możliwe kombinacje exportu i importu i jedyna różnica, to że czasami są tylko znaki zapytania, a czasami dochodzą jeszcze dodatkowe krzaczki. Polskich liter nie udało mi się uzyskać. Jedynie "ó" wyświetla się prawidłowo. Czy problemem mogą być jakieś ustawienia na starym serwerze (www.ovh.org), które może zrobiły coś z kodowaniem tak, że nie da się już tego naprawić, czy może coś na nowym i admin innego by sobie poradził (teraz próbowałem na www.nazwa.pl , ale zastanawiałem się także na home.pl i progreso, więc mogę ewentualnie się tam przenieść. Chociaż niezbyt chce mi się instalować Joomlę jeszcze raz od podstaw..).
Mógłby mi ktoś z tym pomóc, męczę się już prawie dwa tygodnie i musiałem przez to wstrzymać pracę nad stroną, którą chciałem prowadzić regularnie..