Twitter搜索api请求失败,带有国际字符

时间:2014-01-09 10:56:21

标签: php mysql api twitter utf-8

我正在使用TwitterAPIExchange包装器从twitter搜索API中检索推文。只要我不使用sewdish字符å,ä,ö,它就可以正常工作。

我的代码就是这样:

$url = 'https://api.twitter.com/1.1/search/tweets.json';
$getfield = '?q='.$twittername.'&lang=sv';
$requestMethod = 'GET';

$response = $twitter->setGetfield($getfield)
                ->buildOauth($url, $requestMethod)
                ->performRequest(); 

当我回显$twittername时,我可以看到名称是正确的瑞典语,但在twitter的回复中,twitter收到的查询是使用替换字符。例如:名称Göran的请求变为G%EF%BF%BDran

我已将我的数据库设置为utf-8 general。

我还尝试对字符å,ä,ö(%E5%E4%F6)进行urlencode,但是twitter收到的查询保持不变,即{{ 1}}。

1 个答案:

答案 0 :(得分:0)

您是否在rawurlencode()上尝试了$twittername

如果“twitter收到的查询保持不变”是真的,那么将它转换为UTF-8肯定是API的责任吗?当您使用RESTful API时,应该需要url编码。

如果遇到G%EF%BF%BDran(而不是推特)的问题,你可以随时urldecode()