phpbar.de logo

Mailinglisten-Archive

[php] Erkennen eines Character-Encodings

[php] Erkennen eines Character-Encodings

Andreas Lange andreas.lange at haas-media.de
Die Dez 14 13:28:10 CET 2004


Hi,

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.

Alternativ würde ich das Encoding aus der HTML Seite extrahieren, da
aber diese Angabe, besonders bei nicht konformen Webseiten, oft nicht
angeben ist, führt dies auch zu Problemen.

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"?

Hat jemand eventuell einen Tipp, wie man es elegant, und vor allem
Resourcensparend implementieren kann? Auf der Mozilla-Seite gibts
Infos dazu, aber die Statistische Methode scheint für eine
PHP-Umsetzung zu langsam zu sein.

Gruss

Andreas Lange


php::bar PHP Wiki   -   Listenarchive