正确的字符编码显示"”"?

Cha*_*ink 10 php screen-scraping utf-8 character-encoding domdocument

我有一些讨厌的字符编码问题,我无法弄清楚.

基本上,我是使用PHP从网站上抓取一些HTML,然后通过PHP的DOMDocument运行它来更改一些URL等等,当它完成后,它会输出一些奇怪的东西.例如:应该有一个结束报价,它会推出”

我有charset设置的页面元标记,utf-8但随后”字符显示â€在网站上.我不确定我是不是不理解字符编码,或者是什么.

有关解决此问题的最佳方法的任何建议吗?客户端是否有元标记或某种服务器端PHP转换?

XzK*_*Kto 0

我认为您应该链接/发布您遇到问题的页面(部分)以及一些代码以获得更好的反馈。

一些建议:尝试将您获得的页面字符串从其元标记中指定的编码(或真实文档编码,如果不是这种情况)转换为 UTF-8 和/或强制 DOMDocument 对象中的文档编码(如〜 mario 描述或使用属性),因为 DOMDocument 似乎仅当它是 HTML head 标记中的第一个内容时才正确使用编码元标记。

您还可以尝试禁用实体转换或其他一些属性,因为您不需要它来进行简单的 URL 更改。