Google Translate API Скрипт на PHP
Добрый день
Есть код на PHP в который передается 3 переменные: язык с которого переводим,язык на который переводим и само слово (фразу) для перевода. Этот скрипт будет запускаться из консоли под WinXP. Переведенные данные нужно вставить в таблицу на MySQL (тоже под виндой). У меня не получается переделать этот код таким образом чтобы его можно было использовать хотя бы для европейских языков. У меня проблемы с кодировками. Я немогу разобраться в какой кодировке приходит переведенный текст и как его вставить в таблицу чтобы при этом сохранились специальные символы для разных языков. Например приходит перевод на немецкий ändern. Буква ä у меня пропадает или заменяется на другой символ. Также и французкие é ê и так по разным языкам.
Теперь что нужно:
Нужен один скрипт в который будут передаваться слова как на кириллице так и на разных языках и из которого нужно вставлять переведенные фразы в таблицы MySQL без потери спец.символов.Напомню что скрипт будет запускаться из консоли под WinXP. Также мне нужно знать в какой кодировке делать таблицу в которую будут вставляться фразы.
Возможно это связано с кодировками винды. Под Unix вродебы все отображается правильно.
Описание Google API translate http://code.google.com/intl/ru/apis/ajaxlanguage/documentation/
как аботает http://translate.google.com.ua/translate_t?hl=ru&sl=ko#ru|fr|
Далее привожу сам код:
function translate($s_text, $s_lang, $d_lang){
//$s_text = iconv("windows-1251", "utf-8", $s_text);
$post_data['q']=$s_text;
$post_data['langpair']=$s_lang."|".$d_lang;
$query=http_build_query($post_data);
$url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0";
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_POST, 0);
curl_setopt($c, CURLOPT_POSTFIELDS, $query);
$b = curl_exec($c);
curl_close($c);
$json = json_decode($b, true);
if ($json['responseStatus'] != 200)return false;
return $json['responseData']['translatedText'];
}
$e = translate('Changed', 'en', 'de');
//$e = iconv("utf-8", "cp850", $e);
echo ($e);
?>