谷歌翻译API v2编码的中文字符和指南


Google translate API v2 encoding Chinese character and guide

下面的解决方案作为答案

$test = "橘色,灰色,深蓝,绿色";

$completeColors也包含相同的文本,只是文本由一个for循环逐字符连接,形成类似$test的文本。

我手动复制粘贴$test的字符。这里奇怪的问题是,当我把$test传递到下面的url时,它就工作了!但当我把$completeColors而不是$test放进去时,它不起作用:O

$ch = curl_init('https://api.datamarket.azure.com/Bing/MicrosoftTranslator/v1/Translate?To=%27'.$to.'%27&From=%27'.$from.'%27&Text=%27'.$test.'%27');

当我回显我刚刚创建的$test时,它返回橘色,ç°è‰²,æ·±è“,绿色当我回显$completeColors时,它返回橘色,灰色,深蓝,绿色

我没有任何线索,也许可以尝试使用unicode?橘,色,灰色,深,蓝,绿色
结果在
橘色灰色深蓝绿色;

请改用rawurlencode($completeColours)

使用google Translator API v2,它理解中文的urlencode,微软的翻译API不理解。

我将在这里分享这段代码,Google Translator API v2在PHP 中使用CURL

    $text = urlencode($completeColours);
$from = 'zh-CHS';
$to = 'en';
$ch = curl_init('https://www.googleapis.com/language/translate/v2?key=API_KEY_HERE&source=zh-CN&target=en&q='.$text.'');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$newresult = json_decode($result,true);
$student_id = $newresult['data']['translations'][0]['translatedText'];
echo $student_id;

如果你是第一次使用谷歌api,记得在谷歌api中设置配额,你自己设置的配额,不要使用默认的。出于某种原因,如果你不自定义自己的配额,它会返回一个错误"达到最大限额"。