[PHP] Dziwaczne kodowanie z przegladarek

Odpowiedz Nowy wątek
2006-09-06 21:49
0

istota problemu: strona jest w iso-8859-2, na stronie jest wyszukiwarka z opcja zapamietywania i wyswietlania ostatnich 5 wyszukiwan. Wiekszosc przegladarek wysyla dane z takim kodowaniem, jakie ma strona, niektore z innym, losowo wybranym

napisalem funkcje przerabiajaca dowolne kodowanie z 3 (UTF-8, ISO-8859-2, Win-1250) na dowolne z tej samej listy (sam wykrywa, jakie znaki to sa). Teraz poprawnie sie wyswietla, jezeli np. przed wyslaniem formularza zmienie recznie kodowanie na UTF, czy windows, ale czasem i tak pojawiaja sie krzaki (strona ma spora odwiedzalnosc)... czy ktos sie z tym spotkal?

link do serwisu live: dedo.pl
lik do testowego: dedo.wasilczyk.pl

na testowym "krzaki" przekleil mi klient ze swojej strony, wiec nie jest to juz to samo kodowanie, co oryginalnie (znaki braku znaku ? sie zamienily w zwykle zapytajniki).

Prosze tez nie komentowac stylu pisania tego cms, nie ja go pisalem :P


Pozostało 580 znaków

2006-09-07 00:23
0

Hmm... To takie pytania pomocnicze:
1) Czy taka sytuacja się zdarzała w momencie, kiedy to Ty wpisywałeś wyszukiwane słowo?
2) Jeśli (1=tak) Z jakiej przeglądarki wówczas korzystałeś?

Wychodzę ze sprawdzonego założenia, że w informatyce nic się nie losuje (bez wyraźnego polecenia, chociaż to też nie całkiem losowanie, ale temat na inny wątek), ani nic nie dzieje się bez przyczyny. Więc albo coś jest nie tak na stronie, albo w przeglądarce, która te dane wysłała.

3) Czy jest jakaś przykładowa sekwencja czynności, by występowanie tej anomalii powtórczyć? Czy to się dzieje "całkowicie losowo"?


Grunt to uziemienie...

Pozostało 580 znaków

2006-09-07 00:53
0

problem jest rzeczywiście z kodowaniem strony ale po stronie serwera.

szukarka korzysta z AJAX'a z tego co widzę. na początku pliku ze zwracanymi wynikami sugeruję wstawić

<?php
   header("Content-type: text/html; charset=iso-8859-2");
?>

co rozwiąże problem całkowicie. Oczywiście jeżeli tego samego pliku używa strona w trakcie ładowania dokumentu głównego to trzeba tego headera jakimś sprytnym ifem objąć który się odpali jeżeli odwołamy się do pliku z AJAX'em


Daj człowiekowi cracka a jutro znowu bedzie głodny. Naucz go crackować a już nigdy nie będzie głodny.

Pozostało 580 znaków

2006-09-07 13:16
0

@Adam:
1) nie, sytuacja, w ktorej ja wpisywalem juz naprawiona (2 akapit, 2 zdanie)
3) po prostu co jakiś czas się takie zapytania od userow pojawiaja

@jmail: nie pomyslalem. W sumie moge to na cala strone wrzucic...

EDIT: jest moze napisana jakas szybka "odkrzakowywujaca" funkcja, co zostawia tylko PL znaki i te drukowalne?


Pozostało 580 znaków

2006-09-07 16:02
0

Ad.1) No tak, jest "naprawiona", ale to raczej obejście problemu - konwersja znaków z kodowań, które wysyła w różnych sytuacjach Twoja przeglądarka na te prawidłowe. Jednak szukałbym powodu takich sytuacji właśnie analizując to, co Twoja przeglądarka wysyła - jest to chyba najlepsza metoda.


Grunt to uziemienie...

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0