![](/img/trans.png)
[英]Using the Azure Microsoft Translator API with PHP and cURL
[英]Microsoft Translator api return weird characters
也许有人可以帮助我。 使用Microsoft开发人员api来翻译文本时,将以英语输出该文本,例如“此电子邮件地址已被注册!”。 像这样的“法语地址电子邮件déjÃenregistrée!” 确实应该是这样的:“请发送电子邮件至déjàenregistrée!”。 有没有办法解决这个问题。 我的简单脚本是php中的代码:
public function translate($word, $from, $to)
{
//retrieve token
$access_token = $this->get_access_token();
$url = 'http://api.microsofttranslator.com/V2/Http.svc/Translate?text='.urlencode($word).'&from='.$from.'&to='.$to;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization:bearer '.$access_token,"Content-Type: text/xml"));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, False);
$rsp = curl_exec($ch);
$xmlObj = simplexml_load_string($rsp);
foreach((array)$xmlObj[0] as $val){
$translatedStr = $val;
}
return $translatedStr;
}
检查一下:
就像那里说的那样:
简单:使用curl时,它将字符串编码为utf-8,只需要解码它们即可。
描述
string utf8_decode ( string $data )
此函数将假定为UTF-8编码的数据解码为ISO-8859-1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.