【问题标题】:Get source code with Chinese characters PHP获取汉字PHP源码
【发布时间】:2011-01-15 22:52:01
【问题描述】:

好吧,我放弃了。 我一直在想尽办法从具有繁体中文编码 (charset=GB2312) 信息的目标网站检索数据。

我一直在使用 simple_html_parser,但它似乎没有返回汉字,事实上我得到的只是一些嵌入菱形形状的奇怪问号。 (“������ѯ�ؼ��֣�”这样)

声明 php 文件的编码除了删除页面开头显示的一些不需要的字符之外没有做任何事情。

我的意思是:

header('Content-Type', 'text/html; charset=GB2312');

我不能得到任何用中文写的数据,我也尝试过file_get_contents,同样的运气。我可能遗漏了一些明显的东西,因为我在其他地方找不到任何相关的讨论。

提前致谢。

【问题讨论】:

    标签: php character-encoding cjk


    【解决方案1】:

    设置header('Content-Type: text/html; charset=utf-8');

    它对我有用

    【讨论】:

      【解决方案2】:

      您是否尝试过使用mb_convert_encodingiconv 转换编码,例如

      $str = mb_convert_encoding($content, 'UTF-8', 'GB2312');
      

      $str = iconv("UTF-8", "GB2312//IGNORE", $content);
      

      【讨论】:

      • 这就是我喜欢堆栈溢出的原因,我最终会放弃尝试并忘记它,但是这个网站真是太不可思议了。您的第一个示例效果很好,没有尝试第二个示例,您能指出区别吗?谢谢
      • @johnnyArt 很好,它们基本上都做同样的事情,但是iconv 函数比mb_* (afaik) 更易于配置并且支持更多的编码。至于包之间的区别,我真的没什么可提供的:iconv需要先启用,我认为阅读它的速度有点慢,而mb_*默认是捆绑的。我会说它就像 GD 和 ImageMagick。它们只是两个可用的包。但是,实际上,您可能想在一个新问题中询问不同之处。
      【解决方案3】:

      获取源使用的任何字符集,然后将其转换为本地可用的字符,例如 UTF-8。 然后发送到浏览器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-23
        • 2012-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-05
        • 2011-01-21
        相关资源
        最近更新 更多