如何将编码从纯文本更改为 Unicode,以便我可以从 HTML 中读取特殊字符?
How to change encoding from plain text to Unicode so that I can read special characters from a HTML?
下面是我的代码:
<?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;
?>
我正在使用 simplephphtmldon
API。当我在我的本地服务器上执行我的 php 程序时,我得到了很多无法识别的字符,因为纯文本无法真正编码它们以像它们一样显示应该。有人可以告诉我我需要更改为 inner text
才能让所有字符都显示吗? PS 我也尝试过 plaintext
但没有任何运气。 textContent
我觉得好像坏了。也许我需要先尝试不同的元素(?)。谢谢
echo utf8_encode($html->innertext);
或者
echo utf8_decode($html->innertext);
这取决于原始编码,因此您可能想尝试两者。
注:
如果您在浏览器上看到输出,请确保将 Unicode
设置为文本编码或在脚本顶部使用以下代码。
header('Content-Type: text/html; charset=utf-8');
下面是我的代码:
<?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;
?>
我正在使用 simplephphtmldon
API。当我在我的本地服务器上执行我的 php 程序时,我得到了很多无法识别的字符,因为纯文本无法真正编码它们以像它们一样显示应该。有人可以告诉我我需要更改为 inner text
才能让所有字符都显示吗? PS 我也尝试过 plaintext
但没有任何运气。 textContent
我觉得好像坏了。也许我需要先尝试不同的元素(?)。谢谢
echo utf8_encode($html->innertext);
或者
echo utf8_decode($html->innertext);
这取决于原始编码,因此您可能想尝试两者。
注:
如果您在浏览器上看到输出,请确保将 Unicode
设置为文本编码或在脚本顶部使用以下代码。
header('Content-Type: text/html; charset=utf-8');