Witam,
posiadam domenę na serwerze, ale zmieniam i domenę i serwer (hosting ten sam, lecz maszyna lepsza). Pobrałem wszystkie pliki przez ftp (Transfer plików binarny) a następnie przerzuciłem wszystko na drugi serwer (jako folder, nie zip). Nie zmieniałem żadnego pliku, nawet połączenia z bazą danych (w ramach testu udostępniłem dostęp do bazy z różnych ip).
Co ciekawe na drugiej domenie zamiast polskich znaczków mam: "�". Problem jest taki, że skrypt strony jest dość stary i do poprawnego działania wymaga, by charset był ustawiony na "ISO-8859-2", co faktycznie jest ustawione w .htaccess i w kilku innych plikach. Problem znika, gdy wymuszę w przeglądarce wyświetlenie tej strony w "ISO-8859-2" a nie "UTF-8". Przeglądarka powinna sama ustawić charset "ISO-8859-2" na domyślny tak jak robi to w przypadku domeny pierwotnej.
No ale skoro pliki są te same; nie edytowane, baza ta sama to jakim cudem jest problem z wyświetlaniem polskich znaczków?
Tak wygląda fragment kodu źródłowego:
Dodam jeszcze, że na localhoście wszystko działa ok.
Domena pierwotna podłączona do bazy "X" - działa ok
Domena na którą chcę zmienić podłączona do bazy "X" - źle wyświetla polskie znaczki
Serwer localhost podłączony do bazy "X" - działa ok
Wszędzie są identyczne pliki. Sprawdzałem też inny serwer i domenę - tak samo błędne wyświetlanie znaczków
Wgrałem też na nowo wszystkie pliki na domenę pierwotną - działa ok. Gdy wgrywam w ten sam sposób na domenę na którą chcę zmienić - jak można się domyślić nie działa ok.
Nie korzystam również z cloudflare (chodzi mi o cache'owanie).
Nagłówki wysyłane przez serwer:
Strona "dobra"
HTTP/1.1 200 OK
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: dle_user_id=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=example1.com; httponly
Set-Cookie: dle_password=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=example1.com; httponly
Set-Cookie: dle_hash=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/; domain=example1.com; httponly
Content-Type: text/html; charset=iso-8859-2
Transfer-Encoding: chunked
Vary: Accept-Encoding
Date: Sat, 07 Jan 2017 19:39:42 GMT
Accept-Ranges: bytes
Server: LiteSpeed
Connection: Keep-Alive
Strona "zła"
HTTP/1.1 200 OK
Date: Sat, 07 Jan 2017 19:39:33 GMT
Server: Apache/2
X-Powered-By: PHP/5.6.22
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: dle_user_id=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=example2.com; httponly
Set-Cookie: dle_password=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=example2.com; httponly
Set-Cookie: dle_hash=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/; domain=example2.com; httponly
Vary: Accept-Encoding,User-Agent
Keep-Alive: timeout=1, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
No i faktycznie, w drugim przypadku nie ma poprawnego charsetu. Tylko dlaczego?