D0cstrange Posted August 2, 2012 Share Posted August 2, 2012 Bonjour, Je galère depuis deux semaines sur un bout de code que je n'arrive pas a à faire fonctionner, ce bout de code est censé me donner une base sur laquelle je vais pouvoir avancer pour permettre une traduction semi-auto de mes fiches produits, mais je rencontre un problème de base Voici ma classe de traduction et son appel: <?php Class GoogleTranslate { public function checkError($result) { $result = json_decode($result); if (empty($result)) return array('error' => true, 'msgError' => 'Empty result'); if (!empty($result->error)) return array('error' => true, 'msgError' => $result->error->errors[0]->reason); return array('error' => false, 'translation' => $result->data->translations[0]->translatedText); } public function translate($content, $from = 'fr', $to = 'en') { $data = array( 'key' => "xxxxxxxxxxxxxxxxxxxxxxx", 'q' => $content, 'source' => $from, 'target' => $to, ); $urlTarget = 'https://www.googleapis.com/language/translate/v2'; $ch = curl_init($urlTarget); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-HTTP-Method-Override: GET')); $result = curl_exec($ch); curl_close($ch); return $this->checkError($result); } } mysql_connect("localhost", "durex", "comcom") or die(mysql_error()); mysql_select_db("kikoolol") or die(mysql_error()); // chopper les produits $result = mysql_query("SELECT * FROM ps_product_lang WHERE id_product =5 AND ( id_lang =1 OR id_lang =2 )") or die(mysql_error()); while($row = mysql_fetch_array($result)){ $data[]=$row; } $google = new GoogleTranslate(); $result = $google->translate($data[1][4], 'fr', 'en'); if ($result['error']) echo $result['msgError']; else echo $result['translation']; ?> Quand je lui donne ceci à traduire: Contenu : • 200 g • ?Bougie 100 % naturelle, à base de cire d’abeille et d’huile végétale de soja Il me renvoie ceci: Content: 200 g ? Candle 100% natural wax and dabeille dhuile vgtale soy donc j'ai un problème avec les accents que je n'arrive pas résoudre, tout en sachant que urlencode et rawurlencode me donnent un résultat blanc, mais vraiment blanc. la fonction javascript encodeURIComponent me donne un résultat parfait, mais pour pouvoir l'utiliser faut déclarer un paradoxe temporel, exécution serveur, puis exécution client puis exécution serveur dans le même temps... Link to comment Share on other sites More sharing options...
D0cstrange Posted August 2, 2012 Author Share Posted August 2, 2012 Bon, j'ai trouvé ma soluce, il faut utiliser utf8_encode. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now