Mailinglisten-Archive |
Moin, Am Dienstag, 14. Dezember 2004 13:28 schrieb Andreas Lange: > ich brauche für ein Script einen zuverlässigen Code, der das > Character-Encoding einer Webseite erkennt. > > Folgenden Ansatz habe ich probiert: > > $html = file_get_contents('http://www.example.com/'); > mb_detect_encoding($html,"ASCII,JIS,UTF-8,EUC-JP,SJIS",true) > > Das funktioniert oft, aber eben nicht immer. Sehr oft erkennt er UTF-8 > Seiten nicht. > >[...] > Gibt es eine Möglichkeit von einer Webseite auch den HTTP-Header zu > bekommen? Vorzugsweise ohne externe Klassen wie z.B. HTTP_Request von > PEAR, also mit "Bordmitteln"? > > $fp = fsockopen ("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { fputs ($fp, "HEAD $uri HTTP/1.1\r\n\r\n"); while (!feof($fp)) { echo fgets($fp,128); } fclose($fp); } Damit bekommst du den Header [1] des httpds bzgl. der angeforderten $uri. Ob dort die Information über die Kodierung steht, ist IMO nicht sicher. [1] http://www.html-world.de/program/http_3.php#head-methode P.S. Gruß an Vbr. Thilo -- Mit freundlichem Gruß Martin Rozmus Email: martin.rozmus at gmx.net PGP: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x0B13366C
php::bar PHP Wiki - Listenarchive