google youtube api 查询字符问题

google youtube api query character issue

在 Node.js 应用程序中向 google api 发送请求时,如果 q=Ağrı Dağı 响应被称为错误请求,但如果我将查询更改为 q=Agri Dagi这是工作。但是在浏览器中,如果我这样输入 url;

https://www.googleapis.com/youtube/v3/search?part=snippet&q=Ağrı Dağı&type=video&key=blabla

尽管使用土耳其语字符 (ağrı dağı),此 url 在浏览器中成功调用了 json 对象。

这个问题是关于 node.js 请求模块的吗?或者我应该每次都发送非土耳其语字符的查询吗?

您可以使用 encodeURIComponent(yourComponentHere) 对字符串进行编码,以便在 URL 中使用。

UTF8 字符不允许出现在URL 中,需要进行编码。您的浏览器也会这样做,但它对您隐藏了它,因此您仍然可以阅读 URL。