utf 8 — настройка Utf8 не работает для арабского текста в переполнении стека

Я пытаюсь почистить веб-страницу на арабском языке, и все работает нормально, за исключением того факта, что когда я повторяю текст, то получаю искаженный текст, хотя я установил заголовок UTF-8

Вот мой код

<?php

header ('Content-Type: text/html; charset=UTF-8');

require 'vendor/autoload.php';

use Goutte\Client;


$client = new Client();

$crawler = $client->request('GET', 'http://www.lebanonfiles.com');

$news_container = $crawler->filter('#mcs4_container .line');

$news_container->each(function($node) {

echo $node->text();

})
?>

Что я получаю, это кусок искаженного текста введите описание изображения здесь

1

Решение

Вы должны попробовать это … попробуйте поместить эту строку в начале вашего файла php: ini_set('default_charset', 'UTF-8'); это может решить вашу проблему.

Хорошего дня.

1

Другие решения

  • ВСЕ атрибуты должны быть установлены в UTF-8 на всех уровнях вашего приложения / скрипта.
  • Сохраните документ как UTF-8 или как UTF-8 без спецификации (если вы используете Notepad ++, его Формат -> Преобразовать в UTF-8)
    • Обратите внимание, что, хотя они оба UTF-8, они могут вести себя по-разному!
  • Заголовок в PHP и HTML должен быть установлен в UTF-8
    • HTML: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    • PHP: header('Content-Type: text/html; charset=utf-8');
  • Возможно, вам придется указать свою кодировку в вашем php.ini файл, используя default_charset = "utf-8"хотя это стандартно в PHP 5.6
  • Все, что может быть установлено для определенной кодировки, должно быть установлено на так же.

В вашем коде могут быть разные аспекты, которые должны быть настроены на конкретную кодировку.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector