BG Development


  Reply to this topicStart new topicStart Poll

> Проблем с кодировката
Zeardn
Публикувано на: 13-03-2019, 09:35
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 265
Регистриран на: 05.12.14



Колеги, пробвам да взема съдържанието на началната страница на mtd.bg с долния код:

CODE
<html>
   <head>
       <meta charset="UTF-8">
   </head>
   <body>
   <?php
       ini_set("include_path", '/home/web_url/php:' . ini_get("include_path") );
       require_once "HTTP/Request2.php";
       require_once "./ext_functions.php";
       
       $request = new HTTP_Request2("https://mtd.bg/", HTTP_Request2::METHOD_GET);
       $response = $request->send();
       $response = $response->getBody();
           
       echo $response;    
   ?>
   </body>
</html>


Получавам го, но абсолютно всичко в страницата е с въпросителни ромбове. Сложих кодировката на UTF-8, опитах и с windows-1251, но няма резултат. Друг път дори не съм задавал кодировка, но сайтовете са се получавали нормално.

Проверих в mtd.bg каква кодировка се използва. Предположих, че се намира в Page Source - там беше и е windows-1251. Съвпадаше с моята, която бях сложил, във файла, в който е кода, от който се получава страницата, но няма ефект.

Ще се радвам да ми съдействате, защото вчера целия ден си отделих за това, но без да намеря решение.

Това мнение е било редактирано от Zeardn на 13-03-2019, 09:37


--------------------
StackOverflow Member
PMEmail Poster
Top
bvbfan
Публикувано на: 13-03-2019, 09:45
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3222
Регистриран на: 08.12.13



<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">


--------------------
QUOTE (Bender @ 23-04-2015, 19:11)
Xamarin: ЛАПАЙ!
Ти: Добре...
PMEmail Poster
Top
Zeardn
Публикувано на: 13-03-2019, 09:59
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 265
Регистриран на: 05.12.14



Опитах с този начин на задаване, но отново безуспешно.

Направи ми впечатление, че сайта се получава без оформление - стилизиране. Повечето файлове в него не се получават и зареждат, защото например стиловете не се извикват по link href = точен адрес, например (site_name.bg/style/style.css), а по референция - ../style/style.css например.

По този начин директорията се търси в сайта, от който аз изпълнявам скрипта и съответно не се откриват.

Мисля, че е възможно по този начин да има някакви fonts, които не се зареждат по същата причина и за това ми дава ромбовете с въпросителните.

Това мнение е било редактирано от Zeardn на 13-03-2019, 10:16


--------------------
StackOverflow Member
PMEmail Poster
Top
Антон Яначков
Публикувано на: 13-03-2019, 10:39
Quote Post



Име: Антон Яначков
Група: Потребител
Ранг: Почетен член

Мнения: 1156
Регистриран на: 27.07.16



А защо не използваш най-елементарния и бабински метод без да изпадаш в теории:
CODE

<?php
 echo"<center><iframe style='width:950Px;height:1400Px' frameBorder='0' src='https://mtd.bg/'> </iframe>";
?>


Ето и линк как ще изглеждат нещата по бабински с един ред код:
http://instrumenti.bivaood.com/interesni/Dev/mtd.php
PMEmail PosterUsers Website
Top
Zeardn
Публикувано на: 13-03-2019, 14:11
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 265
Регистриран на: 05.12.14



Идеята е, че после боравя с response-а на http_requesta - чрез регулярни изрази и няколко цикъла, минавам през всички категории и взимам всички продукти от сайта - т.е. техните заглавия, цени, описания и снимки. Това през iframe няма да стане.


--------------------
StackOverflow Member
PMEmail Poster
Top
imagination
Публикувано на: 13-03-2019, 16:39
Quote Post



Име:
Група: Потребител
Ранг: Посетител

Мнения: 64
Регистриран на: 07.11.04



Замени
CODE

echo $response;  

с
CODE

echo iconv('CP1251', 'UTF8', $response);  

и вместо регулярен израз използвай DOMDocument.


--------------------
PMEmail Poster
Top
Zeardn
Публикувано на: 14-03-2019, 10:30
Quote Post



Име:
Група: Потребител
Ранг: Активен

Мнения: 265
Регистриран на: 05.12.14



QUOTE (imagination @ 13-03-2019, 16:39)
CODE

echo iconv('CP1251', 'UTF8', $response);  

Колега, много ти благодаря! Станаха нещата! icon_smile.gif
Може ли дадеш пример, коя да ползвам от DOM библиотеките за PHP?


--------------------
StackOverflow Member
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0