Может быть, кто-то может помочь мне с этим. Использование API разработчика Microsoft для перевода текста приведет к выводу, например, этого текста на английском языке: «Этот адрес электронной почты уже зарегистрирован!» на французский, как это «Cette адрес электронной почты est déjé enregistrée!» что на самом деле должно быть так: «Cette Adresse Email est 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.
Других решений пока нет …