在向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 中未知或无法表示的传入字符
也许这些问题的答案可能有助于获得更好的答案:
- 你在那个地方期待什么角色?
- 你能发布你正在抓取的网址吗?
- 这是该页面上的字符,还是在被 YQL 拾取时被破坏了?
更新
您可能想查看 YQL 查询的 where
子句中的 charset
选项 - 我不完全确定它的作用,但看起来它强制 YQL 引擎在解析页面时使用指定的字符集。也许将其设置为 UTF-8
可以解决您的问题。
例如
select * from html where url = 'http://google.com' and charset='utf-8'