我正在使用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}}。
答案 0 :(得分:0)
您是否在rawurlencode()
上尝试了$twittername
?
如果“twitter收到的查询保持不变”是真的,那么将它转换为UTF-8肯定是API的责任吗?当您使用RESTful API时,应该需要url编码。
如果你遇到G%EF%BF%BDran
(而不是推特)的问题,你可以随时urldecode()
。