2016-06-03 1 views
0

Peut-être que quelqu'un peut m'aider avec cela. L'utilisation de l'API de développement de Microsoft pour le texte de traduction produira par exemple ce texte en anglais, "Cette adresse e-mail est déjà enregistrée!" vers le français comme ceci "Cette adresse email est déconnecté!" qui devrait vraiment être comme ceci: "Cette adresse email est déjà enregistrée!". Y'a t'il un moyen d'arranger cela. Mon script simple est-ce en php:Microsoft Translator api retourner caractères étranges

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; 
} 

Répondre

1

Vérifiez ceci:

PHP Curl UTF-8 Charset

Comme il est dit là:

simple: Lorsque vous utilisez curl code la chaîne à utf -8 vous avez juste besoin de les décoder ..

Description

string utf8_decode (string $data)

Cette fonction décode les données, supposées être codées en UTF-8, selon la norme ISO-8859-1.

+1

Merci cela a fonctionné. – jessiPP