Показать сообщение отдельно
  #1 (permalink)  
Старый 17.09.2009, 19:09
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

кодировка или....
Здравствуйте! не могу разобраться в чем тут дело, но думаю, что дело в кодировке! Скрипт который подключается к гуглу для перевода. Если переводится с англ на русс, то все ок, а если наоборот то в ответ получаю (???? ????? ????)
<?php
function translate($str, $from, $to){
    if( $curl = curl_init() ){

        // Задаем ссылку
        curl_setopt($curl,CURLOPT_URL,'http://translate.google.com/translate_t#');
        // Скачанные данные не выводить поток
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt ($curl, CURLOPT_HTTPHEADER, array('Expect:'));
        curl_setopt($curl, CURLOPT_POSTFIELDS, 'client=t&text='.urlencode($str).'&sl='.$from.'&tl='.$to); 

        // Задаем тип проски - сокс5
        //curl_setopt($curl,CURLOPT_PROXYTYPE,CURLPROXY_SOCKS5);

        // Указываем сам сокс
        //curl_setopt($curl,CURLOPT_PROXY,'127.0.0.1:1080'); 

        // Скачиваем
        $out = curl_exec($curl);

        // Показываем скачанные данные
        $res = preg_match('/<div id=result_box dir=\"ltr\">([^<]*)/',$out,$ss);

        // Закрываем соединение
        curl_close($curl);
        return $ss[1];
    }
}
$str = 'Это русский текст';

echo translate($str, "ru", "en");
?>
Ответить с цитированием