如何处理来自YQL的响应

时间:2011-05-10 22:46:14

标签: javascript unicode ascii yql

在对YQL (select * from html where url="...")的请求中,我收到了以下回复:

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

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

... we�ll call Mr ...

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

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

1 个答案:

答案 0 :(得分:1)

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

  1. 你在那个地方期待什么性格?
  2. 您可以发布您正在抓取的网址吗?
  3. 该页面上的字符是否也被YQL拾取时会被破坏?
  4. <强>更新

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

    例如,

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