jak odczytać kodowanie pobranej strony ?

0

Przez funkcję file_get_contents() pobieram ciało strony, zapisując ją do zmiennej $html. W jaki sposób moge dowiedzieć się w jakim kodowaniu jest strona (UTF-8, ISO-8859-2, windows-1251) i ew. zmienić kodowanie?? Zmienić kodowanie mogę przez iconv(), ale żeby je zmienić muszę znać w jakim kodowniau jest strona i tu mam problem ... Nie mogę połączyć tego z mb_detect_encoding() :(

Edite:

Dane ze zmiennej $html zapisuję do pliku, więc może przy zapisie coś się złego dzieje ?

0
  1. Kodowanie jest podawane w nagłówku HTTP kiedy wysyłasz żądanie pobrania strony - file_get_contents() tego nie robi, ale już np. CURL pozwoli się do tych danych wybrać. Podawany jest typ zawartości - nagłówek Content-type;
  2. Jeśli nie został podany typ zawartości w nagłówku HTTP, to szukasz na stronie czegoś takiego jak <meta charset. Prawidłową formą w HTML 4 i XHTML 1 jest <meta http-equiv='Content-type' content='text/html;charset=utf8'> na przykład, ale jak widzisz wyszukiwanie <meta(.*)charset=(.*)> załatwi sprawę... i przy okazji tak to zostało rozplanowane w HTML 5 (którego formą deklarowania kodowania jest <meta charset='utf8'>).

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