我使用 PHP html_simple_dom。目标站点使用 UTF-8。我的 php 以及流上下文都设置为使用 UTF 8。一个元素(我通过浏览器检查)的 innerHTML 为"AAA ' BBB",至少在使用我的 firefox 和 chrome 浏览器进行渲染时是这样。但是,我的 PHP 脚本总是将该字符串作为"AAA ' BBB". 我可以使用 htmlspecialchars_decode($string, 1) 来解决这个问题,但我真的很想知道为什么 PHP 脚本,或者更确切地说是网站在使用我的 PHP 访问它时首先(“错误地)编码字符串,这是明确的设置为 UTFheader('Content-Type: text/html; charset=utf-8');define("CONTEXT", stream_context_create( array( "http" => array( "header" => 'Content-Type: text/html; charset=utf-8' // also tried 'header' => 'Accept-Charset: UTF-8' ) )));目标站点读取 UTF-8 - http://mtggoldfish.com.cutercounter.com/$html = file_get_html($url, false, CONTEXT);// do things, blurts out every "'" as encoded '
1 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
浏览器检查器进行了一些转换以具有人类可读的内容。
创建一个仅AAA ' BBB
在正文中使用的简单 HTML ,您将AAA ' BBB
在检查器中看到。
如果你真的想看页面的内容,看源代码(这是什么file_get_html
得到的)
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消