必应翻译器API返回不正确的希腊语单词

我正在使用axios对Microsoft Text Translator API执行GET请求。 这个电话是成功的,它正确地返回从希腊语到英语的翻译。 但是,当我试图用英语翻译希腊语时,答案是错误的。 例如,这个单字“ πρώραμματισμός ”的翻译不是用programming ÀÁ¿³Á±¼¼±Ä¹Ã¼ÌÂ而是ÀÁ¿³Á±¼¼±Ä¹Ã¼ÌÂ的。 有没有人用希腊语或其他语言遇到过这个问题?

index.js

 bp.hear(/μετάφρασε (.+)/i, (event, next) => { const microsoft_translator_text = event.captured[0]; const requst = axios.post("https://api.cognitive.microsoft.com/sts/v1.0/issueToken", null, { headers: {'Ocp-Apim-Subscription-Key': bing_translator_api} }) .then(function (response) { var microsoft_translator_auth = response.data; console.log(microsoft_translator_text); axios.get(`http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=Bearer%20${microsoft_translator_auth}&from=el&to=en&text=${microsoft_translator_text}`) .then(function (translation) { var translation_morph = translation.data.replace(/['"]+/g, '') event.reply('#translation', { translation: translation_morph, }) }) .catch(function (error) { console.log(error); }); }) .catch(function (error) { console.log(error); }); }) 

正如Fai所说,这是一个编码问题。 这个问题可以通过在url上使用encodeURI来解决,如下所示:

 var encoded_url = encodeURI("http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId=Bearer " + `${microsoft_translator_auth}&from=el&to=en&text=${microsoft_translator_text}`) axios.get(encoded_url, null, { headers: {'Content-type': 'application/json'}, }) 
Interesting Posts