Definim codarea paginilor de Internet

PHP pentru incepatori

Problema nu este inactiv, este faptul că, atunci când codificarea este scris în corpul unui document HTML

nu există probleme. Dar, uneori, creatorii de site-uri nu scrie în meta tag-uri de codificare de pagină, cum să fie, în acest caz, și cum să învețe codificarea acestor pagini. Să vedem cum interent. Browser-ul trimite o cerere către paginile de server cu asa-numita Heder, serverul răspunde la browser-ul în aceeași cheder și apoi dă o pagină în format HTML. Ce este Heather - o tehnică de date care browser-ul și serverul de schimb, și nu sunt afișate pentru utilizator, ca și în cazul normal nu este necesar. Browserul va citi Heder, el înțelege ceea ce trebuie să facă și produce pagini HTML în mod normal. Dar când descărcați această pagină ca un robot ca aceasta:

Browser-ul în acest caz, nu folosim, și, prin urmare, nu se poate defini metode simple, cum ar fi codarea paginii descărcate, deoarece, uneori, nu scrie codificare. Uite ce arata ca Heather, care este trimis la browser.

Dintre toate liniile eith atrag atenția asupra doar un singur: Content-Type: text / html; charset = windows-1251. Puteți vedea că acesta este scris de codificare. Ce fel de codificare? Această codificare a serverului implicit (setat de către administratorul serverului, în funcție de faptul dacă, în ceea ce codificări sunt, în principal site-uri de pe acest server). Aceasta este, în cazul în care codificarea paginii nu este specificat în textul HTML, browser-ul este nevoie de Hadera de la server, de la linia, pe care le-am văzut. Uneori, creatorul site-ului se trimite codificare în Hadera, și scrie-l într-un document HTML (de exemplu, pe site-ul nostru nu există nici un concept de codificare, în-coca codificate seta robotul sau browser-ul in aceasta i-am spus să ne întoarcem paginile noastre, care este ceea ce doriți, o astfel de codificare și descărca site-ul nostru). Și de ce nu creatorul site-ului va înregistra în textul HTML? Nu este necesar să se înregistreze în cazul în care codificarea site-ului său coincide cu codificarea serverului implicit, browser-ul afișează o pagină normală. Și, în cele din urmă, acest munte nici măcar nu știu ce creatorul site-ului a creat probleme pentru motoarele de căutare, bine, pentru noi cu tine. moduri simple nu putem ști codificarea. Heder este separat de caracterele de text HTML \ r \ n \ r \ n.

Heather \ r \ n \ r \ n Aici pagina HTML.

// funcție ramură antetul paginii
Funcția return_data ($ cale) <
$ Page = "";
$ Arr = exploda ( "\ r \ n \ r \ n", $ cale);
$ Heder = $ arr [0];
în timp ce (lista ($ cheie. $ val) = @De fiecare ($ arr)) <
în cazul în care (== $ cheie '0')
. $ Page = $ val "\ n" .;
>
reveni array ($ Heder $ pagina.);
>

// conectați funcția FLEXIE
Funcția ext_dll ($ cale) <
$ Bibl_ext = dirname ($ _SERVER [ 'SCRIPT_FILENAME']). "/ Extensii / php_". $ Path "dll.".;
if (! @extension_loaded (calea $) și is_file ($ bibl_ext)) <@dl ("php_". $path .".dll");>
if (! @extension_loaded ($ cale))
return true;
>
$ Curl_return = ext_dll ( 'buclat');

// $ arr ay [0] - un antet de pagină
$ Heder = $ arr ay [0];
// $ arr ay [1] - este pagina în sine
$ Page = $ arr ay [1];

// afla codificarea antetului
în cazul în care (preg_match ( "

i“, $ Heder. $ arr r)) <$ch arset _heder = trim ( $arr r [ 1 ] );>
// afla codificarea paginii
în cazul în care (preg_match ( "

// pagina funcție de traducere în Windows-1251 de codificare
Funcția replace_page ($ Arset cap. $ cale) <
în cazul în care (preg_match ( "

articole similare