1

Тема: Як вивести файл через функцію file_get_contents в іншому кодуванні?

Ситуація така, на своєму сайті site1.com я розміщую блок новин зі свого другого сайту site2.com за допомогою коду <?php echo file_get_contents("http://site2.com/base.html");?>

Все начебто добре, але виникла така проблема, кодування файлу base.html = utf-8, а кодування сайту site1.com = windows-1251, блок новин виводиться не читаємо.

Як за допомогою функції file_get_contents вивести вміст файлу в іншому кодуванні, а саме в windows-1251?
Або як можна вивести вміст того же файлу транслітом (латиницею), тоді проблема з кодуванням буде знята.

Буду дуже вдячний за допомогу.

2 Востаннє редагувалося 221VOLT (21.02.2017 23:20:30)

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

http://lmgtfy.com/?q=php+encode+win1251+to+utf8
http://lmgtfy.com/?q=php+encode+utf8+to+win1251
і напевно краще використовувати CURL (і всюди використовувати лише utf)

3

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

221VOLT написав:

http://lmgtfy.com/?q=php+encode+win1251+to+utf8
http://lmgtfy.com/?q=php+encode+utf8+to+win1251
і напевно краще використовувати CURL (і всюди використовувати лише utf)

Дякую звісно за посилання, проте я вже 2 дні не можу вирішити дану проблему.
По цих запитах, та і не тільки по цих, в мене вже вся видача гугла фіолетовим кольором. Поки що вирішення не знайшов.

4

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

Наприклад так

$var = file_get_contents('http://replace.org.ua/post/95169/#p95169'); 
echo iconv('utf-8', 'windows-1251', $var);
Подякували: 221VOLT1

5

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

Але нащо воно вам ? Можливо ви хочете iframe

Подякували: 221VOLT1

6

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

Betterthanyou написав:

Наприклад так

$var = file_get_contents('http://replace.org.ua/post/95169/#p95169'); 
echo iconv('utf-8', 'windows-1251', $var);

Так взагалі не працює, зробив ось так:

 echo $var = file_get_contents('http://site2.com/base.html'); 
 iconv('utf-8', 'windows-1251', $var);

Працює, але відображається все так же, з кодуванням проблему не вирішує, я і раніше пробував функцію iconv, чомусь не працює.

7

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

kxgoo написав:
221VOLT написав:

http://lmgtfy.com/?q=php+encode+win1251+to+utf8
http://lmgtfy.com/?q=php+encode+utf8+to+win1251
і напевно краще використовувати CURL (і всюди використовувати лише utf)

Дякую звісно за посилання, проте я вже 2 дні не можу вирішити дану проблему.
По цих запитах, та і не тільки по цих, в мене вже вся видача гугла фіолетовим кольором. Поки що вирішення не знайшов.

покажіть будь-ласка повний скриншот першої сторінки видачі гугла до обох запитів
можливо у вас проблема з вірусом в браузері?

чи ви хочете сказати що пробували знайти і не змогли?
для чого-чого, а для php - напевно абсолютно все прекрасно гуглиться,
це для ерлангу я подібну задачу вирішував трохи довше -- і в гуглі мало результатів (лише частина вирішення в наявності),
і доки я погано вмію читати,
і тестувати все потрібно (ой, в пых-пыху також потрібно, прошу пробачення)



ваша проблема в тому, що ви не викладає код своїх спроб вирішити цю задачу
(на форумі ж бо телепатів мало, і вони зараз у відпустці)

---

kxgoo написав:
Betterthanyou написав:

Наприклад так

$var = file_get_contents('http://replace.org.ua/post/95169/#p95169'); 
echo iconv('utf-8', 'windows-1251', $var);

Так взагалі не працює, зробив ось так:

 echo $var = file_get_contents('http://site2.com/base.html'); 
 iconv('utf-8', 'windows-1251', $var);

Працює, але відображається все так же, з кодуванням проблему не вирішує, я і раніше пробував функцію iconv, чомусь не працює.

га? а чого ви робите вивід до iconv а не після?

http://php.net/manual/ru/function.iconv.php
це ви читали?

спробуйте приклади звідти, у вас получиться! успіхів!

Подякували: Betterthanyou, kxgoo2

8

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

я перевіряв на https://c9.io, видно ця функція у вас відключена, але є ще один аналог

        <?php
            $var = file_get_contents('http://replace.org.ua/post/95169/#p95169'); 
            echo mb_convert_encoding($var, 'windows-1251', 'utf-8');
        ?>

Так робить ?

Подякували: 221VOLT, kxgoo, 0xDADA11C73

9

Re: Як вивести файл через функцію file_get_contents в іншому кодуванні?

Betterthanyou написав:

я перевіряв на https://c9.io, видно ця функція у вас відключена, але є ще один аналог

        <?php
            $var = file_get_contents('http://replace.org.ua/post/95169/#p95169'); 
            echo mb_convert_encoding($var, 'windows-1251', 'utf-8');
        ?>

Так робить ?

Ура, тільки саме так і робить. Щиро вдячний за допомогу  *OK*