我如何处理来自 YQL 的此响应



在向YQL (select * from html where url="...")的请求中,我得到了以下响应:

callback({
    "query":
        {"count":"1","created":"2011-05-09T23:29:05Z","lang":"en-US"
     }, "results": ["<body>... weufffdll call Mr ...</body>"]
}

这是来自 YQL 控制台页面。当我在Firebug中键入该序列时(即使在YQL的页面上),我得到:

... we�ll call Mr ...

我做错了什么?YQL 的网站编码是否错误?有没有办法将这样的符号转换为它们的 ascii 等效项?

顺便说一句,这不是我的网站,所以我不能更改该网站上的元字符集

  • 看起来(纯黑色钻石中的问号)是您应该看到的:http://www.fileformat.info/info/unicode/char/fffd/browsertest.htm

  • 该角色页面上的评论说:

    用于替换其值在 Unicode 中未知或无法表示的传入字符

也许这些问题的答案可能有助于获得更好的答案:

  1. 你在那个地方期待什么角色?
  2. 你能发布你正在抓取的网址吗?
  3. 这是该页面上的字符,还是在被 YQL 拾取时被破坏了?

更新

您可能想查看 YQL 查询的 where 子句中的 charset 选项 - 我不完全确定它的作用,但看起来它强制 YQL 引擎在解析页面时使用指定的字符集。也许将其设置为 UTF-8 可以解决您的问题。

例如

select * from html where url = 'http://google.com' and charset='utf-8'

相关内容

  • 没有找到相关文章

最新更新