Как изменить кодировку с простого текста на Unicode, чтобы я мог читать специальные символы из HTML?

1

Ниже мой код:

<?php
// example of how to use basic selector to retrieve HTML contents
include('/Library/WebServer/Documents/simple_html_dom.php');  //this is the api for the simplehtmldom

// get DOM from URL or file
$html = file_get_html('http:/www.google.hk');



// extract text from table
echo $html->find('td[align="top"]', 1)->innertext.'<br><hr>';

// extract text from HTML
echo $html->innertext;
?>

Я использую API simplephphtmldon. Когда я выполняю свою php- программу на локальном сервере, я получаю так много нераспознанных символов из-за того, что простой текст не может действительно кодировать их, чтобы они отображались так, как они предполагали. Может кто-нибудь сказать мне, что мне нужно изменить на inner text, чтобы все персонажи появлялись? PS Я также пробовал plaintext без всякой удачи. textContent кажется мне сломанным. Возможно, мне нужно сначала попробовать другой элемент (?). благодаря

  • 1
    Пожалуйста, опубликуйте пример ввода, неправильный вывод и желаемый вывод.
  • 0
    попробуй это сейчас. я изменил и вместо файла он открывает веб-страницу в интернете
Показать ещё 6 комментариев
Теги:
parsing
simple-html-dom

1 ответ

1
Лучший ответ
echo utf8_encode($html->innertext);

Или

echo utf8_decode($html->innertext);

Это зависит от исходного кодирования, поэтому вы можете попробовать оба.


Примечание. Если вы видите вывод в браузере, убедитесь, что вы задали Unicode как текстовое кодирование или используете этот код в верхней части сценария.

header('Content-Type: text/html; charset=utf-8');
  • 1
    Заголовок сделал всю работу. огромное спасибо
  • 0
    Пожалуйста, рад, что это сработало.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню