php 俄语语言问题
我使用curl 获取俄语语言的utf-8 页面。如果我回显文本,它会显示良好。然后我使用这样的代码
$dom = new domDocument;
/*** load the html into the object ***/
@$dom->loadHTML($html);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
/*** the table by its tag name ***/
$tables = $dom->getElementsByTagName('table');
/*** get all rows from the table ***/
$rows = $tables->item(0)->getElementsByTagName('tr');
/*** loop over the table rows ***/
for ($i = 0; $i <= 5; $i++)
{
/*** get each column by tag name ***/
$cols = $rows->item($i)->getElementsByTagName('td');
echo $cols->item(2)->nodeValue;
echo '<hr />';
}
$html 包含俄语文本。在该行之后 echo $cols->item(2)->nodeValue; 显示错误文本,而不是俄语。我尝试 iconv 但不起作用。有什么想法吗?
i get page in utf-8 with russian language using curl. if i echo text it show good. then i use such code
$dom = new domDocument;
/*** load the html into the object ***/
@$dom->loadHTML($html);
/*** discard white space ***/
$dom->preserveWhiteSpace = false;
/*** the table by its tag name ***/
$tables = $dom->getElementsByTagName('table');
/*** get all rows from the table ***/
$rows = $tables->item(0)->getElementsByTagName('tr');
/*** loop over the table rows ***/
for ($i = 0; $i <= 5; $i++)
{
/*** get each column by tag name ***/
$cols = $rows->item($i)->getElementsByTagName('td');
echo $cols->item(2)->nodeValue;
echo '<hr />';
}
$html contains russian text. after it line echo $cols->item(2)->nodeValue; display error text, not russian. i try iconv but not work. any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我建议在加载 UTF-8 页面之前使用 mb_convert_encoding 。
或者你可以尝试这个
I suggest use mb_convert_encoding before load UTF-8 page.
OR else you could try this
DOM 无法识别 HTML 的编码。
你可以尝试这样的事情:
The DOM cannot recognize the HTML's encoding.
You can try something like:
mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
同样的事情也适用于 PHPQuery。
PS我使用 phpQuery::newDocument($html);
而不是 $dom->loadHTML($html);
mb_convert_encoding($html, 'HTML-ENTITIES', "UTF-8");
The same thing worked for PHPQuery.
P.S. I use phpQuery::newDocument($html);
instead of $dom->loadHTML($html);